Example #1
0
        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.");
        }
Example #2
0
        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));
                }
            });
        }
Example #3
0
        public void Throws_ArgumentException_For_Bad_Pattern(string pattern)
        {
            TernaryTree <int> subject = new TernaryTree <int>();

            Assert.Throws <ArgumentException>(() => { subject.Match(pattern); });
        }