public void SetUpTestFixture()
        {
            string directoryPath = Path.GetDirectoryName(typeof(RuleTestBase).Assembly.Location);
            string filePath      = Path.Combine(directoryPath, "Config", RuleFileName);
            var    conf          = Configuration.Read(filePath);

            syllableBreaker = new SyllableBreaker(conf);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;

            if (args.Length < 1)
            {
                Console.WriteLine("Usage: SyllableSplitter.exe <ConfigFile> [<TextFile>]");
                return;
            }

            Configuration conf            = Configuration.Read(args[0]);
            var           syllableBreaker = new SyllableBreaker(conf, true);
            WordReader    reader          = new WordReader(args.Length >= 2 ? args[1] : null);

            string word;
            var    processedWords = new HashSet <string>();

            while ((word = reader.GetNextWord()) != null)
            {
                word = word.ToLower();
                if (processedWords.Contains(word))
                {
                    continue;
                }
                processedWords.Add(word);

                try
                {
                    var syllables = syllableBreaker.BreakWord(word);
                    Console.WriteLine($"{word}={SyllableBreaker.ToString(syllables)}");
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine($"Error: {e.Message}");
                }
            }

            reader.Close();

            syllableBreaker.ProcessClusters();
            PrintConsonantClusters(syllableBreaker);
        }
Esempio n. 3
0
        private static void PrintConsonantClusters(SyllableBreaker syllableBreaker)
        {
            using (var writer = new StreamWriter("clusters_by_count.txt", false, Encoding.UTF8))
            {
                foreach (var clusterText in syllableBreaker.ClustersByCount)
                {
                    var cluster = syllableBreaker.ConsonantClusters[clusterText];
                    writer.Write($"{clusterText} ({cluster.Words.Count}): ");
                    WriteWords(writer, cluster.Words);
                    writer.WriteLine();
                }
            }

            using (var writer = new StreamWriter("clusters_by_length.txt", false, Encoding.UTF8))
            {
                foreach (var clusterText in syllableBreaker.ClustersByLength)
                {
                    var cluster = syllableBreaker.ConsonantClusters[clusterText];
                    writer.Write($"{clusterText} ({cluster.Words.Count}): ");
                    WriteWords(writer, cluster.Words);
                    writer.WriteLine();
                }
            }
        }