Exemplo n.º 1
0
 public void GetEdgeCount_With_Ignore_Direction_Param_Throws_When_Invalid_Type_Passed_In_For_Dest_Node()
 {
     var net = new BasicAdjList(Guid.NewGuid());
     INode nodeA = net.CreateNode();
     INode nodeB = new DummyBasicNode();
     var ex = Assert.Throws<ArgumentException>(() => net.GetEdgeCount(nodeA, nodeB, true));
 }
Exemplo n.º 2
0
 public void GetEdgeCount_With_Ignore_Direction_Param_Throws_When_NullPassed_In_For_Source_Node()
 {
     var net = new BasicAdjList(Guid.NewGuid());
     INode nodeA = null;
     INode nodeB = net.CreateNode();
     var ex = Assert.Throws<ArgumentNullException>(() => net.GetEdgeCount(nodeA, nodeB, true));
 }
Exemplo n.º 3
0
        public void GetEdgeCount_For_NodeB_to_NodeB(int AtoBEdges, int BtoAEdges, int AtoAEdges, int BtoBEdges, bool ignoreDirection, int expectedCount)
        {
            //Arrange
            var net = new BasicAdjList(Guid.NewGuid());
            INode nodeA = net.CreateNode();
            INode nodeB = net.CreateNode();

            for (int i = 0; i < AtoBEdges; i++)
            {
                net.CreateEdge(nodeA, nodeB);
            }
            for (int i = 0; i < BtoAEdges; i++)
            {
                net.CreateEdge(nodeB, nodeA);
            }
            for (int i = 0; i < AtoAEdges; i++)
            {
                net.CreateEdge(nodeA, nodeA);
            }
            for (int i = 0; i < BtoBEdges; i++)
            {
                net.CreateEdge(nodeB, nodeB);
            }

            int result = net.GetEdgeCount(nodeB, nodeB, ignoreDirection);

            Assert.Equal(expectedCount, result);
        }