private static void TestGrapBFSAdjacentMatrixTravesal()
        {
            //     0
            //    /  \
            //   1    2
            //        /
            //       3       4
            //       \
            //        5
            UndirectedGraph<int> graph = new UndirectedGraph<int>();

            Node<int> node = new Node<int>(0);

            Node<int> node1 = new Node<int>(1);

            Node<int> node2 = new Node<int>(2);

            Node<int> node3 = new Node<int>(3);

            List<Node<int>> nodes = new List<Node<int>>();
            nodes.Add(node);
            nodes.Add(node1);
            nodes.Add(node2);
            nodes.Add(node3);
            Node<int> node4 = new Node<int>(4);
            Node<int> node5 = new Node<int>(5);
            nodes.Add(node4);
            nodes.Add(node5);

            List<Edge<int>> edges = new List<Edge<int>>();

            // Add Edges  0-1
            Edge<int> edge = new Edge<int>();
            edge.StartNode = node;
            edge.EndNode = node1;

            edges.Add(edge);

            //0-2
            edges.Add(new Edge<int>()
            {
                StartNode = node,
                EndNode = node2
            });

            //2-3
            edges.Add(new Edge<int>()
            {
                StartNode = node2,
                EndNode = node3
            });

            //3-5
            edges.Add(new Edge<int>()
            {
                StartNode = node3,
                EndNode = node5
            });

            // Traverse all nodes and its vertices
            graph.BFSAdjancentMatrix(nodes, edges, node);
        }