コード例 #1
0
        public void Build_UnorderedWords_CreatesDawgFromUnorderedWords(DawgType dawgType)
        {
            var words = new[] { "¿ywo", "hip", "s³abo", "hy¿o", "kaper" };

            var result = new DawgBuilder().WithUnorderedWords(words).BuildDawg(dawgType);

            AssertHaveProvidedWords(result, words);
        }
コード例 #2
0
        public void Build_HandleNonTreeWords_CreateDawgFromOrderedWords(DawgType dawgType)
        {
            var orderedWords = new[] { "hip", "hop" };

            var result = new DawgBuilder().WithOrderedWords(orderedWords).BuildDawg(dawgType);

            AssertHaveProvidedWords(result, orderedWords);
        }
コード例 #3
0
        public void Build_OrderedWords_CreatesDawgFromOrderedWords(DawgType dawgType)
        {
            var orderedWords = new[] { "b¹k", "chrz¹szcz", "hy¿o" };

            var result = new DawgBuilder().WithOrderedWords(orderedWords).BuildDawg(dawgType);

            AssertHaveProvidedWords(result, orderedWords);
        }
コード例 #4
0
        public void Build_OrderedWordsFile_CreatesDawgFromOrderedWords(DawgType dawgType)
        {
            string[] subset;
            using (var source = new WordListFileSource("scrabble-polish-words.txt"))
            {
                subset = source.Take(1000).ToArray();
                File.WriteAllLines("tmp-words-subset.txt", subset);
            }

            var result = new DawgBuilder().WithOrderedWordsFromFile("tmp-words-subset.txt").BuildDawg(dawgType);

            AssertHaveProvidedWords(result, subset);
        }
コード例 #5
0
        public IPrefixMatcher BuildDawg(DawgType dawgType)
        {
            switch (dawgType)
            {
            case DawgType.Node:
                return(BuildNodeDawg());

            case DawgType.Compact:
                return(BuildCompactDawg());

            default:
                throw new ArgumentException();
            }
        }