public void RunTernaryTreeSearch(string pattern) { startTime = DateTime.Now.Ticks; ICollection <string> results = subject.Match(pattern); endTime = DateTime.Now.Ticks; Console.WriteLine($"TernaryTree found {results.Count} keys in {(endTime - startTime) / 10000} ms."); }
public void Regex_Match_Test(string pattern, string[] matchingKeys, string[] nonMatchingKeys) { TernaryTree <int> subject = TernaryTree <int> .Create(matchingKeys); foreach (string nonMatchingKey in nonMatchingKeys) { subject.Add(nonMatchingKey); } HashSet <string> actualResult = new HashSet <string>(subject.Match(pattern)); Assert.Multiple(() => { Assert.That(subject.Count, Is.EqualTo(matchingKeys.Length + nonMatchingKeys.Length)); Assert.That(actualResult.Count, Is.EqualTo(matchingKeys.Length)); foreach (string key in matchingKeys) { Assert.That(actualResult.Contains(key)); } }); }
public void Throws_ArgumentException_For_Bad_Pattern(string pattern) { TernaryTree <int> subject = new TernaryTree <int>(); Assert.Throws <ArgumentException>(() => { subject.Match(pattern); }); }