public void Should_ReturnTWoRoot_When_TreeHasTwoElements() { var tree = new Dictionary <Node, List <Node> >(); tree[new Node { NodeId = 1 }] = new List <Node> { new Node { NodeId = 2 } }; tree[new Node { NodeId = 2 }] = new List <Node> { new Node { NodeId = 1 } }; var treeGraphPropagation = new TreeGraphPropagation <Node>(tree); var result = treeGraphPropagation.GetOptimisedRoot(); Assert.AreEqual(result[0].RootNode.NodeId, 1); Assert.AreEqual(result[0].Propagation, 1); Assert.AreEqual(result[1].RootNode.NodeId, 2); Assert.AreEqual(result[1].Propagation, 1); }
public void Should_ReturnOneRoot_When_TestFile10() { var tree = GetDataFromFile(@"TestFile\Test10.txt"); var treeGraphPropagation = new TreeGraphPropagation <Node>(tree); var result = treeGraphPropagation.GetOptimisedRoot(); Assert.AreEqual(result[0].RootNode.NodeId, 1); Assert.AreEqual(result[0].Propagation, 5); }
public void Should_ReturnTheOnlyElement_When_TreeHasOneElement() { var tree = new Dictionary <Node, List <Node> >(); tree[new Node { NodeId = 1 }] = new List <Node>(); var treeGraphPropagation = new TreeGraphPropagation <Node>(tree); var result = treeGraphPropagation.GetOptimisedRoot(); Assert.AreEqual(result[0].RootNode.NodeId, 1); Assert.AreEqual(result[0].Propagation, 0); }
public void Should_ReturnOneRoot_When_Tree() { var tree = new Dictionary <Node, List <Node> >(); tree[new Node { NodeId = 1 }] = new List <Node> { new Node { NodeId = 2 } }; tree[new Node { NodeId = 2 }] = new List <Node> { new Node { NodeId = 1 }, new Node { NodeId = 4 }, new Node { NodeId = 3 } }; tree[new Node { NodeId = 3 }] = new List <Node> { new Node { NodeId = 7 }, new Node { NodeId = 8 }, new Node { NodeId = 2 } }; tree[new Node { NodeId = 4 }] = new List <Node> { new Node { NodeId = 5 }, new Node { NodeId = 6 }, new Node { NodeId = 2 } }; tree[new Node { NodeId = 5 }] = new List <Node> { new Node { NodeId = 4 } }; tree[new Node { NodeId = 6 }] = new List <Node> { new Node { NodeId = 4 } }; tree[new Node { NodeId = 7 }] = new List <Node> { new Node { NodeId = 3 } }; tree[new Node { NodeId = 8 }] = new List <Node> { new Node { NodeId = 3 } }; var treeGraphPropagation = new TreeGraphPropagation <Node>(tree); var result = treeGraphPropagation.GetOptimisedRoot(); Assert.AreEqual(result[0].RootNode.NodeId, 2); Assert.AreEqual(result[0].Propagation, 2); }
public void Should_ReturnEmptyRoot_When_TreeIsEmpty() { var treeGraphPropagation = new TreeGraphPropagation <Node>(null); Assert.IsNull(treeGraphPropagation.GetOptimisedRoot()); }