public void AdjacentTest() { IGraph <int> graph = GraphMap.New <int>(); for (int i = 1; i <= 5; i++) { graph.Add(i); } graph.Add(1, 5); graph.Add(2, 5); graph.Add(3, 5); graph.Add(4, 5); Assert.IsTrue(graph.Adjacent(1, 5)); }
public void RemoveTest() { IGraph <int> graph = GraphMap.New <int>(); for (int i = 1; i <= 5; i++) { graph.Add(i); } graph.Add(1, 5); graph.Add(2, 5); graph.Add(3, 5); graph.Add(4, 5); graph.Remove(3); ListArray <(int, int)> RemainingEdges = new(); graph.Edges(edge => RemainingEdges.Add((edge.Item1, edge.Item2))); Assert.IsTrue(EquateSet <(int, int)>(new[] { (1, 5), (2, 5), (4, 5) }, RemainingEdges.ToArray()));
public void NeighborsTest() { IGraph <int> graph = GraphMap.New <int>(); for (int i = 1; i <= 5; i++) { graph.Add(i); } graph.Add(1, 5); graph.Add(2, 5); graph.Add(3, 5); graph.Add(4, 5); graph.Add(5, 2); graph.Add(5, 3); int sum = 0; graph.Neighbors(5, (x) => sum += x); Assert.IsTrue(sum is 5); }