using NUnit.Framework; using UnityEngine; using BaseGames.AI; namespace BaseGames.Tests.EditMode.AI { public class BlackboardTests { [Test] public void SetThenGet_ReturnsValue() { var bb = new Blackboard(); bb.Set("lastKnown", new Vector2(3f, 4f)); Assert.AreEqual(new Vector2(3f, 4f), bb.Get("lastKnown")); } [Test] public void Get_MissingKey_ReturnsDefault() { var bb = new Blackboard(); Assert.AreEqual(0f, bb.Get("nope")); } [Test] public void Keys_EnumeratesAllSetKeys() { var bb = new Blackboard(); bb.Set("a", 1); bb.Set("b", 2); CollectionAssert.AreEquivalent(new[] { "a", "b" }, bb.Keys); } [Test] public void Clear_RemovesAll() { var bb = new Blackboard(); bb.Set("a", 1); bb.Clear(); CollectionAssert.IsEmpty(bb.Keys); } [Test] public void Snapshot_ReturnsKeyToStringMap_ForIntrospection() { var bb = new Blackboard(); bb.Set("hp", 0.5f); var snap = bb.Snapshot(); Assert.AreEqual("0.5", snap["hp"]); } } }