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); }
public void Build_HandleNonTreeWords_CreateDawgFromOrderedWords(DawgType dawgType) { var orderedWords = new[] { "hip", "hop" }; var result = new DawgBuilder().WithOrderedWords(orderedWords).BuildDawg(dawgType); AssertHaveProvidedWords(result, orderedWords); }
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); }
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); }
public IPrefixMatcher BuildDawg(DawgType dawgType) { switch (dawgType) { case DawgType.Node: return(BuildNodeDawg()); case DawgType.Compact: return(BuildCompactDawg()); default: throw new ArgumentException(); } }