Ejemplo n.º 1
0
        public void TestLocalisationFilesIntegrity()
        {
            List <string> files = FileProvider.GetFilesInDirectory(ApplicationPaths.LocalisationDirectory).ToList();

            foreach (string file in files)
            {
                string fileName = PathExt.GetFileNameWithoutRootDirectory(file);

                List <string> lines = FileProvider.ReadAllLines(FileEncoding.Windows1252, file).ToList();

                int lineNumber = 0;

                foreach (string line in lines)
                {
                    lineNumber += 1;

                    if (string.IsNullOrWhiteSpace(line))
                    {
                        continue;
                    }

                    string[] fields = line.Split(';');

                    Assert.IsFalse(string.IsNullOrWhiteSpace(fields[0]), $"Localisation code is undefined in {fileName} at line {lineNumber}");
                    Assert.IsFalse(string.IsNullOrWhiteSpace(fields[1]), $"English localisation is undefined in {fileName} at line {lineNumber}");
                    Assert.IsFalse(string.IsNullOrWhiteSpace(fields[2]), $"French localisation is undefined in {fileName} at line {lineNumber}");
                    Assert.IsFalse(string.IsNullOrWhiteSpace(fields[3]), $"German localisation is undefined in {fileName} at line {lineNumber}");
                    Assert.IsFalse(string.IsNullOrWhiteSpace(fields[5]), $"Spanish localisation is undefined in {fileName} at line {lineNumber}");
                }
            }
        }
Ejemplo n.º 2
0
        public void TestLandedTitleFilesIntegrity()
        {
            List <string> files = FileProvider.GetFilesInDirectory(ApplicationPaths.LandedTitlesDirectory).ToList();

            foreach (string file in files)
            {
                string fileName = PathExt.GetFileNameWithoutRootDirectory(file);

                List <string> lines = FileProvider
                                      .ReadAllLines(FileEncoding.Windows1252, file)
                                      .ToList();

                IEnumerable <LandedTitle> landedTitles = LandedTitlesFile
                                                         .ReadAllTitles(file)
                                                         .ToDomainModels();

                string content = string.Join(Environment.NewLine, lines);

                int openingBrackets = content.Count(x => x == '{');
                int closingBrackets = content.Count(x => x == '}');

                Assert.AreEqual(openingBrackets, closingBrackets, $"There are mismatching brackets in {fileName}");
                AssertLandedTitlesQuotes(lines, file);
                AssertLandedTitlesEqualSigns(lines, file);
                AssertLandedTitleDynamicNames(landedTitles, file);
            }
        }
Ejemplo n.º 3
0
        public void TestCultureFilesIntegrity()
        {
            List <string> files = FileProvider.GetFilesInDirectory(ApplicationPaths.CulturesDirectory).ToList();

            foreach (string file in files)
            {
                string fileName = PathExt.GetFileNameWithoutRootDirectory(file);

                List <string> lines = FileProvider
                                      .ReadAllLines(FileEncoding.Windows1252, file)
                                      .ToList();

                IEnumerable <Culture> cultures = CultureFile
                                                 .ReadAllCultures(file)
                                                 .ToDomainModels();

                string content = string.Join(Environment.NewLine, lines);

                int openingBrackets = content.Count(x => x == '{');
                int closingBrackets = content.Count(x => x == '}');

                Assert.AreEqual(openingBrackets, closingBrackets, $"There are mismatching brackets in {fileName}");
                AssertCultureChanceValues(cultures, file);
            }
        }
Ejemplo n.º 4
0
        public void TestLocalisationFilesFormatConventions()
        {
            List <string> localisationFiles = FileProvider.GetFilesInDirectory(ApplicationPaths.LocalisationDirectory).ToList();

            foreach (string file in localisationFiles)
            {
                List <string> lines     = FileProvider.ReadAllLines(FileEncoding.Windows1252, file).ToList();
                List <string> fullLines = FileProvider.ReadAllLines(FileEncoding.Windows1252, file, true).ToList();

                AssertIndentation(lines, file);
                AssertTrailingWhitespaces(fullLines, file);
                AssertRepeatedBlankLines(fullLines, file);
            }
        }
Ejemplo n.º 5
0
        public void TestDynastyFilesFormatConventions()
        {
            List <string> dynastyFiles = FileProvider.GetFilesInDirectory(ApplicationPaths.DynastiesDirectory).ToList();

            foreach (string file in dynastyFiles)
            {
                List <string> lines     = FileProvider.ReadAllLines(FileEncoding.Windows1252, file).ToList();
                List <string> fullLines = FileProvider.ReadAllLines(FileEncoding.Windows1252, file, true).ToList();

                AssertIndentation(lines, file);
                AssertTrailingWhitespaces(fullLines, file);
                AssertRepeatedBlankLines(fullLines, file);
                AssertSpacingsAroundEquals(lines, file);
            }
        }
Ejemplo n.º 6
0
        public void TestLocalisationFileNamingConventions()
        {
            if (!Directory.Exists(ApplicationPaths.LocalisationDirectory))
            {
                return;
            }

            List <string> files = FileProvider.GetFilesInDirectory(ApplicationPaths.LocalisationDirectory).ToList();

            foreach (string file in files)
            {
                string fileName = PathExt.GetFileNameWithoutRootDirectory(file);

                Assert.IsTrue(Regex.IsMatch(file, localisationFileNamePattern), $"The '{fileName}' file's name does not respect the conventions");
            }
        }
Ejemplo n.º 7
0
        public void TestLandedTitlesFilesFormatConventions()
        {
            List <string> landedTitlesFiles = FileProvider.GetFilesInDirectory(ApplicationPaths.LandedTitlesDirectory).ToList();

            foreach (string file in landedTitlesFiles)
            {
                List <string> lines     = FileProvider.ReadAllLines(FileEncoding.Windows1252, file).ToList();
                List <string> fullLines = FileProvider.ReadAllLines(FileEncoding.Windows1252, file, true).ToList();

                IEnumerable <LandedTitle> landedTitles = LandedTitlesFile
                                                         .ReadAllTitles(file)
                                                         .ToDomainModels();

                AssertIndentation(lines, file);
                AssertTrailingWhitespaces(fullLines, file);
                AssertRepeatedBlankLines(fullLines, file);
                AssertSpacingsAroundEquals(lines, file);
            }
        }
        public void AssertEncodings()
        {
            List <string> landedTitlesFiles = FileProvider.GetFilesInDirectory(ApplicationPaths.LandedTitlesDirectory).ToList();

            foreach (string file in landedTitlesFiles)
            {
                string        fileName = PathExt.GetFileNameWithoutRootDirectory(file);
                List <string> lines    = FileProvider.ReadAllLines(FileEncoding.Windows1252, file).ToList();

                int lineNumber = 0;
                foreach (string line in lines)
                {
                    lineNumber += 1;

                    int charNumber = 0;
                    foreach (char c in line)
                    {
                        Assert.IsTrue(EncodingChecker.IsWindows1252(c), $"The '{file}' file contains a non-WINDOWS-1252 character at line {lineNumber}, position {charNumber}");
                    }
                }
            }
        }