public void ShouldBeIndependentOfClone() { GOAPNode original = new GOAPNode(new WorldState(ws), null); GOAPNode clone = (GOAPNode)original.Clone(); clone.WorldState.SetToken("a", !(bool)original.WorldState.GetValue("a")); Assert.AreNotEqual(clone.WorldState.GetValue("a"), original.WorldState.GetValue("a")); }
public void ShouldHaveSameTokensAsClone() { foreach (WorldStateToken token in tokens) { ws.SetToken(token); } generic_astar.Action action = new generic_astar.Action("test_action", new List <WorldStateToken>() { }, new List <WorldStateToken>() { }, 10); GOAPNode node = new GOAPNode(ws, action); GOAPNode clone = (GOAPNode)node.Clone(); foreach (WorldStateToken token in tokens) { Assert.AreEqual(token.Value, clone.WorldState.GetValue(token.Name)); } }