public IntKadNetwork CreateIntKadNetwork() { var result = new IntKadNetwork(); IntKadNode node2 = result.Add(2); IntKadNode node3 = result.Add(3); IntKadNode node4 = result.Add(4); // all nodes knows about all others for (int i = 0; i < result.Count; i++) { for (int j = 0; j < result.Count; j++) { if (j != i) { result[i].KadCore.RoutingTable.Add(result[j].KadCore.NodeIdentifier); } } } // add node 5 only connected with node 2 IntKadNode node5 = result.Add(5); node3.KadCore.RoutingTable.Add(node5.KadCore.NodeIdentifier); node5.KadCore.RoutingTable.Add(node3.KadCore.NodeIdentifier); return(result); }
public void node_lookup_returns_all_nodes_in_network(int nodeKey, IEnumerable <int> expectedResult) { IntKadNetwork network = CreateIntKadNetwork(); IntKadNode node1 = network[0]; IEnumerable <int> result = node1.KadCore.NodeLookUp(nodeKey).Select(n => n.NodeId); CollectionAssert.AreEquivalent(expectedResult, result); }