public void AddAndMatchWord() { Language language = new Language(); language.AddWord("abc"); var result = language.Match("abc"); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count()); Assert.AreEqual("abc", result.First()); }
public void AddWordsAndMatchPatternStartingWithALetter() { Language language = new Language(); language.AddWord("abbc"); language.AddWord("cbba"); language.AddWord("aaaa"); language.AddWord("cccc"); var result = language.Match("ab(bc)(ac)"); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count()); Assert.IsTrue(result.Contains("abbc")); }
public void AddWordsAndMatchPatternWithManyLetters() { Language language = new Language(); language.AddWord("abbc"); language.AddWord("cbba"); language.AddWord("aaaa"); language.AddWord("cccc"); var result = language.Match("(ac)bb(ac)"); Assert.IsNotNull(result); Assert.AreEqual(2, result.Count()); Assert.IsTrue(result.Contains("abbc")); Assert.IsTrue(result.Contains("cbba")); }
public void MatchUnknownWord() { Language language = new Language(); var result = language.Match("abc"); Assert.IsNotNull(result); Assert.AreEqual(0, result.Count()); }