Esempio n. 1
0
        public virtual void IsEmpty()
        {
            TripletShortCycles esssr = new TripletShortCycles(new MinimumCycleBasis(Array.Empty <int[]>()), false);

            int[][] paths = esssr.GetPaths();
            Assert.IsTrue(Compares.AreDeepEqual(Array.Empty <int[]>(), paths));
        }
Esempio n. 2
0
        public virtual void NaphthalenePaths()
        {
            TripletShortCycles esssr = new TripletShortCycles(new MinimumCycleBasis(Naphthalene), false);

            int[][] paths = esssr.GetPaths();
            Assert.AreEqual(6, paths[0].Length - 1);
            Assert.AreEqual(6, paths[1].Length - 1);
            Assert.IsFalse(Compares.AreDeepEqual(paths[0], paths[1]));
            Assert.AreEqual(10, paths[2].Length - 1);
        }
Esempio n. 3
0
        public virtual void Unmodifiable()
        {
            TripletShortCycles esssr = new TripletShortCycles(new MinimumCycleBasis(K4), false);

            int[][] paths = esssr.GetPaths();
            // modify paths
            foreach (var path in paths)
            {
                for (int i = 0; i < path.Length; i++)
                {
                    path[i] = path[i] + 1;
                }
            }
            // the internal paths should not be changed
            Assert.IsFalse(Compares.AreDeepEqual(esssr.GetPaths(), paths));
        }
Esempio n. 4
0
        public virtual void Lexicographic()
        {
            int[] exp = new int[] { 0, 1, 2, 3, 4 };

            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 0, 1, 2, 3, 4 })));
            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 4, 0, 1, 2, 3 })));
            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 3, 4, 0, 1, 2 })));
            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 2, 3, 4, 0, 1 })));
            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 1, 2, 3, 4, 0 })));

            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 4, 3, 2, 1, 0 })));
            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 3, 2, 1, 0, 4 })));
            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 2, 1, 0, 4, 3 })));
            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 1, 0, 4, 3, 2 })));
            Assert.IsTrue(Compares.AreDeepEqual(exp, TripletShortCycles.Lexicographic(new int[] { 0, 4, 3, 2, 1 })));
        }
Esempio n. 5
0
        public virtual void CyclophanePaths()
        {
            TripletShortCycles esssr = new TripletShortCycles(new MinimumCycleBasis(Cyclophane()), false);

            Assert.IsTrue(Compares.AreDeepEqual(
                              new int[][]
            {
                new[] { 0, 1, 2, 3, 4, 5, 0 },
                new[] { 6, 7, 8, 9, 10, 11, 6 },
                new[] { 0, 1, 2, 3, 17, 18, 19, 16, 9, 8, 7, 6, 15, 14, 13, 12, 0 },
                new[] { 0, 1, 2, 3, 17, 18, 19, 16, 9, 10, 11, 6, 15, 14, 13, 12, 0 },
                new[] { 0, 5, 4, 3, 17, 18, 19, 16, 9, 8, 7, 6, 15, 14, 13, 12, 0 },
                new[] { 0, 5, 4, 3, 17, 18, 19, 16, 9, 10, 11, 6, 15, 14, 13, 12, 0 },
            },
                              esssr.GetPaths()));
        }
Esempio n. 6
0
        public virtual void NaphthaleneSize()
        {
            TripletShortCycles esssr = new TripletShortCycles(new MinimumCycleBasis(Naphthalene), false);

            Assert.AreEqual(3, esssr.Count);
        }
Esempio n. 7
0
        public virtual void CyclophaneSize()
        {
            TripletShortCycles esssr = new TripletShortCycles(new MinimumCycleBasis(Cyclophane()), false);

            Assert.AreEqual(6, esssr.Count);
        }
Esempio n. 8
0
        public virtual void BicycloSize()
        {
            TripletShortCycles esssr = new TripletShortCycles(new MinimumCycleBasis(Bicyclo), false);

            Assert.AreEqual(3, esssr.Count);
        }
Esempio n. 9
0
        public virtual void AnthraceneSize()
        {
            TripletShortCycles esssr = new TripletShortCycles(new MinimumCycleBasis(Anthracene), false);

            Assert.AreEqual(5, esssr.Count);
        }