Ejemplo n.º 1
0
        public void IsEulerianOneVertexWithTwoLoops()
        {
            var g     = constructGraph(new Tuple <int, int>[] { new Tuple <int, int>(1, 1), new Tuple <int, int>(1, 1) });
            var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm <int, UndirectedEdge <int> >(g);

            Assert.IsTrue(gAlgo.isEulerian());
        }
Ejemplo n.º 2
0
        public void IsEulerianEmpty()
        {
            var g     = constructGraph(new Tuple <int, int>[] { });
            var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm <int, UndirectedEdge <int> >(g);

            Assert.IsFalse(gAlgo.isEulerian());
        }
Ejemplo n.º 3
0
        public void IsEulerianOneComponentTrue()
        {
            var g     = constructGraph(new Tuple <int, int>[] { new Tuple <int, int>(1, 2), new Tuple <int, int>(2, 3), new Tuple <int, int>(3, 1) });
            var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm <int, UndirectedEdge <int> >(g);

            Assert.IsTrue(gAlgo.isEulerian());
        }
 public void IsEulerianOneVertex()
 {
     var g = constructGraph(new Tuple<int, int>[] { });
     g.AddVertex(420);
     var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm<int, UndirectedEdge<int>>(g);
     Assert.IsTrue(gAlgo.isEulerian());
 }
Ejemplo n.º 5
0
        public void IsEulerianTwoVerticesOneEdge()
        {
            var g     = constructGraph(new Tuple <int, int>[] { new Tuple <int, int>(1, 2) });
            var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm <int, UndirectedEdge <int> >(g);

            Assert.IsFalse(gAlgo.isEulerian());
        }
 public void IsEulerianOneComponentFalse()
 {
     var g = constructGraph(new Tuple<int, int>[] { new Tuple<int, int>(1, 2),
             new Tuple<int, int>(2, 3), new Tuple<int, int>(3, 4),
             new Tuple<int, int>(4, 1), new Tuple<int, int>(1, 3)});
     var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm<int, UndirectedEdge<int>>(g);
     Assert.IsFalse(gAlgo.isEulerian());
 }
Ejemplo n.º 7
0
        public void IsEulerianOneVertex()
        {
            var g = constructGraph(new Tuple <int, int>[] { });

            g.AddVertex(420);
            var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm <int, UndirectedEdge <int> >(g);

            Assert.IsTrue(gAlgo.isEulerian());
        }
        public void IsEulerianManyComponentsTrue()
        {
            var g = constructGraph(new Tuple<int, int>[] { new Tuple<int, int>(1, 2), new Tuple<int, int>(2, 3), new Tuple<int, int>(3, 1) });
            g.AddVertex(4);
            g.AddVertex(5);

            var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm<int, UndirectedEdge<int>>(g);
            Assert.IsTrue(gAlgo.isEulerian());
        }
Ejemplo n.º 9
0
        public void IsEulerianManyComponentsFalse()
        {
            var g = constructGraph(new Tuple <int, int>[] { new Tuple <int, int>(1, 2),
                                                            new Tuple <int, int>(2, 3), new Tuple <int, int>(3, 1),
                                                            new Tuple <int, int>(4, 5), new Tuple <int, int>(5, 6),
                                                            new Tuple <int, int>(6, 4) });

            g.AddVertex(7);
            var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm <int, UndirectedEdge <int> >(g);

            Assert.IsFalse(gAlgo.isEulerian());
        }
 public void IsEulerianTwoVertices()
 {
     var g = constructGraph(new Tuple<int, int>[] { new Tuple<int, int>(1, 2), new Tuple<int, int>(2, 2) });
     var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm<int, UndirectedEdge<int>>(g);
     Assert.IsFalse(gAlgo.isEulerian());
 }
 public void IsEulerianOneVertexWithTwoLoops()
 {
     var g = constructGraph(new Tuple<int, int>[] { new Tuple<int, int>(1, 1), new Tuple<int, int>(1, 1) });
     var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm<int, UndirectedEdge<int>>(g);
     Assert.IsTrue(gAlgo.isEulerian());
 }
 public void IsEulerianEmpty()
 {
     var g = constructGraph(new Tuple<int, int>[] { });
     var gAlgo = new QuickGraph.Algorithms.IsEulerianGraphAlgorithm<int, UndirectedEdge<int>>(g);
     Assert.IsFalse(gAlgo.isEulerian());
 }