public void MaxCliqueDetectionG1G3() { var expectedResult = new List <int> { 0, 2, 3 }; var expectedResult2 = new List <int> { 2, 1, 4 }; var gPath1 = Environment.CurrentDirectory + "\\..\\..\\..\\Graphs\\a1.csv"; var gPath2 = Environment.CurrentDirectory + "\\..\\..\\..\\Graphs\\a2.csv"; var alg = new ModularGraphMaxCliqueAlgorithm(); int[] g1Mapping; int[] g2Mapping; (g1Mapping, g2Mapping) = alg.GetMaximalCommonSubgraphMapping(gPath1, gPath2); #region Then Assert.Equal(expectedResult.Count, g1Mapping.Length); Assert.Equal(expectedResult2.Count, g2Mapping.Length); for (int i = 0; i < expectedResult.Count; i++) { Assert.Equal(expectedResult[i], g1Mapping[i]); Assert.Equal(expectedResult2[i], g2Mapping[i]); } #endregion }
public void MaxCliqueDetectionSingleVertexNormalGraph() { var expectedResult = new List <int> { 0 }; var gPath1 = Environment.CurrentDirectory + "\\..\\..\\..\\Graphs\\a3_single_vertex.csv"; var gPath2 = Environment.CurrentDirectory + "\\..\\..\\..\\Graphs\\a2.csv"; var g1 = new Graph(); var g2 = new Graph(); g1.FillEdgesFromCsv(gPath1); g2.FillEdgesFromCsv(gPath2); var alg = new ModularGraphMaxCliqueAlgorithm(); int[] g1Mapping; int[] g2Mapping; (g1Mapping, g2Mapping) = alg.GetMaximalCommonSubgraphMapping(gPath1, gPath2); #region Then Assert.Equal(expectedResult.Count, g1Mapping.Length); Assert.Equal(expectedResult.Count, g2Mapping.Length); Assert.Equal(g1Mapping[0], g2Mapping[0]); #endregion }