示例#1
0
        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));
        }
示例#2
0
        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()));
示例#3
0
        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);
        }