public void ModificationsOfNodeInfoOutsideArePreserved() { GameTreeNode node = new GameTreeNode(); var info = node.GetOrCreateNodeInfo <TestGameTreeNodeInfo>(); info.TestInfo = "new value"; var newInfo = node.GetOrCreateNodeInfo <TestGameTreeNodeInfo>(); Assert.AreEqual("new value", newInfo.TestInfo); }
public void CustomNodeInfoCanBeCreatedWithFunctor() { GameTreeNode node = new GameTreeNode(); var info = node.GetOrCreateNodeInfo(() => new TestGameTreeNodeInfo("test")); Assert.IsNotNull(info); Assert.AreEqual("test", info.TestInfo); }
public void CustomNodeInfoCanBeCreatedAutomatically() { GameTreeNode node = new GameTreeNode(Move.NoneMove); var info = node.GetOrCreateNodeInfo <TestGameTreeNodeInfo>(); Assert.IsNotNull(info); Assert.AreEqual("hello", info.TestInfo); }
public void NodeInfoIsNotRecreatedWithFunctor() { GameTreeNode node = new GameTreeNode(); var info = new TestGameTreeNodeInfo("custom"); node.SetNodeInfo(info); var retrievedInfo = node.GetOrCreateNodeInfo(() => new TestGameTreeNodeInfo("different")); Assert.IsNotNull(retrievedInfo); Assert.AreEqual("custom", retrievedInfo.TestInfo); }
public void NodeInfoIsNotRecreated() { GameTreeNode node = new GameTreeNode(); var info = new TestGameTreeNodeInfo("custom"); node.SetNodeInfo(info); var retrievedInfo = node.GetOrCreateNodeInfo <TestGameTreeNodeInfo>(); Assert.IsNotNull(retrievedInfo); Assert.AreEqual("custom", retrievedInfo.TestInfo); }