public void HerschelGraphTest()
        {
            SimpleGraph         herschel      = SimpleGraphFactory.MakeHerschelGraph();
            SimpleQuotientGraph quotientGraph = new SimpleQuotientGraph(herschel);

            CheckParameters(quotientGraph, 3, 2, 0);
        }
        public void DiamantaneTest()
        {
            SimpleGraph         diamantane = SimpleGraphFactory.MakeDiamantane();
            SimpleQuotientGraph qGraph     = new SimpleQuotientGraph(diamantane);

            CheckParameters(qGraph, 3, 3, 1);
        }
        public void HexagonalSandwichTest()
        {
            SimpleGraph         hexagon       = SimpleGraphFactory.MakeSandwich(6);
            SimpleQuotientGraph quotientGraph = new SimpleQuotientGraph(hexagon);

            CheckParameters(quotientGraph, 2, 2, 1);
        }
        public void Symmetric2TwistaneTest()
        {
            SimpleGraph         symmetric2Twistane = SimpleGraphFactory.MakeSymmetric2Twistane();
            SimpleQuotientGraph quotientGraph      = new SimpleQuotientGraph(symmetric2Twistane);

            CheckParameters(quotientGraph, 2, 3, 2);
        }
        public void SquareSandwichTest()
        {
            SimpleGraph         square        = SimpleGraphFactory.MakeSandwich(4);
            SimpleQuotientGraph quotientGraph = new SimpleQuotientGraph(square);

            CheckParameters(quotientGraph, 2, 2, 1);
        }
        public void TriangleSandwichTest()
        {
            SimpleGraph         triangle      = SimpleGraphFactory.MakeSandwich(3);
            SimpleQuotientGraph quotientGraph = new SimpleQuotientGraph(triangle);

            CheckParameters(quotientGraph, 2, 2, 1);
        }
        public void AdamantaneTest()
        {
            SimpleGraph         adamantane    = SimpleGraphFactory.MakeAdamantane();
            SimpleQuotientGraph quotientGraph = new SimpleQuotientGraph(adamantane);

            CheckParameters(quotientGraph, 2, 1, 0);
        }
        public void GrotschGraphTest()
        {
            SimpleGraph         grotschGraph = SimpleGraphFactory.MakeGrotschGraph();
            SimpleQuotientGraph qgraph       = new SimpleQuotientGraph(grotschGraph);

            CheckParameters(qgraph, 3, 3, 1);
        }
        public void QuadricyclaneTest()
        {
            SimpleGraph         quadricyclane = SimpleGraphFactory.MakeQuadricyclane();
            SimpleQuotientGraph quotientGraph = new SimpleQuotientGraph(quadricyclane);

            CheckParameters(quotientGraph, 3, 3, 1);
        }
        public void PentagonalPrismTest()
        {
            SimpleGraph         pentaprism    = SimpleGraphFactory.MakePrism(5);
            SimpleQuotientGraph quotientGraph = new SimpleQuotientGraph(pentaprism);

            CheckParameters(quotientGraph, 1, 1, 1);
        }
        public void SpiroPentagonTest()
        {
            SimpleGraph         spiroPentagons = SimpleGraphFactory.MakeSpiroPentagons();
            SimpleQuotientGraph quotientGraph  = new SimpleQuotientGraph(spiroPentagons);

            CheckParameters(quotientGraph, 3, 3, 1);
        }
        public void DiSpiroOctaneQuotientGraphTest()
        {
            SimpleGraph         diSpiroOctane = SimpleGraphFactory.MakeDiSpiroOctane();
            SimpleQuotientGraph quotientGraph =
                new SimpleQuotientGraph(diSpiroOctane);

            CheckParameters(quotientGraph, 5, 6, 1);
        }
        public void FourRegularExampleTest()
        {
            SimpleGraph fourRegular = SimpleGraphFactory.MakeFourRegularExample();

            Check4Regularity(fourRegular);
            SimpleQuotientGraph qgraph = new SimpleQuotientGraph(fourRegular);

            CheckParameters(qgraph, 1, 1, 1);
        }
        public void FourCubeTest()
        {
            SimpleGraph fourCube = SimpleGraphFactory.Make4Cube();

            Check4Regularity(fourCube);
            SimpleQuotientGraph qgraph = new SimpleQuotientGraph(fourCube);

            CheckParameters(qgraph, 1, 1, 1);
        }
        public void TricycloPropaIndeneQuotientGraphTest()
        {
            SimpleGraph tricycloPropaIndene =
                SimpleGraphFactory.MakeTricycloPropaIndene();
            SimpleQuotientGraph quotientGraph =
                new SimpleQuotientGraph(tricycloPropaIndene);

            CheckParameters(quotientGraph, 6, 8, 2);
        }
        public void SquareQuotientGraphTest()
        {
            SimpleGraph squareQuotientGraph =
                SimpleGraphFactory.MakeSquareQuotientGraph();
            SimpleQuotientGraph quotientGraph =
                new SimpleQuotientGraph(squareQuotientGraph);

            CheckParameters(quotientGraph, 4, 4, 0);
        }
        public void ThreeFourFiveTwistedGraphTest()
        {
            SimpleGraph threeFourFive =
                SimpleGraphFactory.MakeThreeFourFiveTwisted();
            SimpleQuotientGraph quotientGraph =
                new SimpleQuotientGraph(threeFourFive);

            CheckParameters(quotientGraph, 3, 3, 1);
        }
        public void TruncatedTetrahedronTest()
        {
            SimpleGraph truncatedTetrahedron =
                SimpleGraphFactory.MakeTruncatedTetrahedron();
            SimpleQuotientGraph quotientGraph =
                new SimpleQuotientGraph(truncatedTetrahedron);

            CheckParameters(quotientGraph, 1, 1, 1);
        }
 public void CheckParameters(SimpleQuotientGraph qGraph,
                             int expectedVertexCount,
                             int expectedEdgeCount,
                             int expectedLoopEdgeCount)
 {
     Console.Out.WriteLine(qGraph);
     Assert.AreEqual(expectedVertexCount, qGraph.GetVertexCount());
     Assert.AreEqual(expectedEdgeCount, qGraph.GetEdgeCount());
     Assert.AreEqual(expectedLoopEdgeCount, qGraph.NumberOfLoopEdges());
 }
        public void Fullerene26Test()
        {
            SimpleGraph fullerene26 = SimpleGraphFactory.Make26Fullerene();

            Check3Regularity(fullerene26);
            SimpleQuotientGraph quotientGraph =
                new SimpleQuotientGraph(fullerene26);

            CheckParameters(quotientGraph, 4, 5, 2);
        }
        public void BowtieaneQuotientGraphTest()
        {
            SimpleGraph bowtieane = SimpleGraphFactory.MakeBowtieane();
            //        Check3Regularity(bowtieane);
            SimpleQuotientGraph quotientGraph = new SimpleQuotientGraph(bowtieane);

            //        Draw(quotientGraph);
            // TODO : FIXME
            CheckParameters(quotientGraph, 4, 5, 2);
        }