public void DetectSqlDialects(Language language) { var testFolder = Path.Combine(TestUtility.GrammarsDirectory, language.ToString().ToLowerInvariant(), "examples"); var directoryCodeRepository = new DirectorySourceRepository(testFolder); var fileNames = directoryCodeRepository.GetFileNames(); int totalFilesCount = 0; int ambiguousFilesCount = 0; foreach (var fileName in fileNames) { TextFile textFile = new TextFile(File.ReadAllText(fileName), fileName); List <Language> sqls = SqlDialectDetector.Detect(textFile); if (sqls.Count > 1) { Console.WriteLine($"{fileName} has been recognized as {string.Join(", ", sqls)}"); ambiguousFilesCount++; } totalFilesCount++; CollectionAssert.Contains(sqls, language, $"File {fileName} has not been detected as {language}"); } Console.WriteLine($"Ambiguous files count: {ambiguousFilesCount}"); Console.WriteLine($"Total files count: {totalFilesCount}"); }
public void AggregateFiles_TestProject_CorrectCountAndRelativePaths() { string rootPath = Path.Combine(TestUtility.TestsDataPath, "Test Project"); var repository = new DirectorySourceRepository(rootPath, languages: Language.CSharp); var fileNames = repository.GetFileNames().Select(fileName => repository.ReadFile(fileName)).ToArray(); Assert.AreEqual(7, fileNames.Length); Assert.IsNotNull(fileNames.SingleOrDefault(f => f.Name == "1.cs" && f.RelativePath == "" && f.FullName == Path.Combine(rootPath, "1.cs"))); Assert.IsNotNull(fileNames.SingleOrDefault(f => f.Name == "1.cs" && f.RelativePath == "Folder" && f.FullName == Path.Combine(rootPath, "Folder", "1.cs"))); }