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)); }
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)); }
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); }
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())); }