Beispiel #1
0
        private bool FilesAreEquivalent(out List <string> problematicRules)
        {
            problematicRules = new List <string>();

            var expectedFiles = ExpectedDirectory.GetFiles("S*.json");
            var actualFiles   = AnalysisOutputDirectory.GetFiles("S*.json");

            var problematicFileNames =
                expectedFiles.Select(file => file.Name)
                .ToImmutableHashSet()
                .SymmetricExcept(actualFiles.Select(file => file.Name));

            if (problematicFileNames.Any())
            {
                problematicRules.AddRange(problematicFileNames);
                return(false);
            }

            foreach (var expectedFile in expectedFiles)
            {
                var bytesExpected = File.ReadAllBytes(expectedFile.FullName);
                var bytesActual   = File.ReadAllBytes(actualFiles.Single(file => file.Name == expectedFile.Name).FullName);

                if (!StructuralComparisons.StructuralEqualityComparer.Equals(bytesExpected, bytesActual))
                {
                    problematicRules.Add(Path.GetFileNameWithoutExtension(expectedFile.Name));
                }
            }

            return(!problematicRules.Any());
        }
Beispiel #2
0
 public void All_Rules_Have_Integration_Test()
 {
     Assert.AreEqual(AnalyzerTypes.Count, ExpectedDirectory.GetFiles("S*.json").Count());
 }