public void TestBasicPlayerState() { Player player = new Player(JSONUtils.ParseFile("../../../Assets/Resources/TestData/player1.json")); Scene1StateManager scene = new Scene1StateManager(sceneJson); scene.Player = player; Assert.AreEqual("SceneStart0",scene.SetState("SceneStart").Name); player.AddStateCrumb("start0"); Assert.AreEqual("SceneStart1",scene.SetState("SceneStart").Name); Assert.AreEqual("UnderBed0",scene.SetState("UnderBed").Name); player.AddStateCrumb("foobar0"); player.AddStateCrumb("movebed0"); Assert.AreEqual("UnderBed1",scene.SetState("UnderBed").Name); Assert.AreEqual("SceneStart1",scene.SetState("SceneStart").Name); player.AddStateCrumb("note0"); Assert.AreEqual("UnderBed2",scene.SetState("UnderBed").Name); Assert.AreEqual("HiddenBox0",scene.SetState("HiddenBox").Name); player.AddStateCrumb("key0"); Assert.AreEqual("HiddenBox1",scene.SetState("HiddenBox").Name); Assert.AreEqual("Door1",scene.SetState("Door").Name); }