예제 #1
0
        public void TrieTest_AddTwoOneWild()
        {
            ITrie trie = new TrieWithNoChildren();

            trie = trie.Add("an");
            Assert.That(trie.WildcardSearch("?"), Is.False);
        }
예제 #2
0
        public void TestDAddLongWordLookItUp()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("word");
            Assert.That(t.Contains("word"), Is.True);
        }
예제 #3
0
        public void TestDAddWordLookUpPrefix()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("word");
            Assert.That(t.Contains("wo"), Is.False);
        }
예제 #4
0
        public void TestCAddShortWordLookItUp()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("i");
            Assert.That(t.Contains("i"), Is.True);
        }
예제 #5
0
        public void TestCAddShortWordLookUpEmpty()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("i");
            Assert.That(t.Contains(""), Is.False);
        }
예제 #6
0
        public void TestBAddEmptyLookItUp()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("");
            Assert.That(t.Contains(""), Is.True);
        }
예제 #7
0
        public void TestBAddEmptyCheckType()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("");
            Assert.That(t, Is.TypeOf(typeof(TrieWithNoChildren)));
        }
예제 #8
0
        public void TrieTest_AddSeveralFindWild2()
        {
            ITrie trie = new TrieWithNoChildren();

            trie = trie.Add("bat");
            trie = trie.Add("ball");
            Assert.That(trie.WildcardSearch("b?t?"), Is.False);
        }
예제 #9
0
        public void TestFAddDifferentLetterCheckType()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("i");
            t = t.Add("ice");
            t = t.Add("cream");
            Assert.That(t, Is.TypeOf(typeof(TrieWithManyChildren)));
        }
예제 #10
0
        public void TrieTest_AddSeveralFindWild4()
        {
            ITrie trie = new TrieWithNoChildren();

            trie = trie.Add("banana");
            trie = trie.Add("balloon");
            trie = trie.Add("banter");
            Assert.That(trie.WildcardSearch("b?n?n?"), Is.True);
        }
예제 #11
0
        public void TrieTest_AddSeveralFindWild3()
        {
            ITrie trie = new TrieWithNoChildren();

            trie = trie.Add("bat");
            trie = trie.Add("ball");
            trie = trie.Add("sale");
            Assert.That(trie.WildcardSearch("?a?e"), Is.True);
        }
예제 #12
0
        public void TestFAddEmptyAndDifferentLetterLookUpEmpty()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("");
            t = t.Add("i");
            t = t.Add("ice");
            t = t.Add("cream");
            Assert.That(t.Contains(""), Is.EqualTo(true));
        }
예제 #13
0
        /// <summary>
        /// Gets a trie of names
        /// </summary>
        /// <param name="names">a dictionary used to create the trie</param>
        /// <returns>the trie created</returns>
        public static ITrie GetNamesTrie(Dictionary <string, List <Employee> > names)
        {
            ITrie trie = new TrieWithNoChildren();

            foreach (string s in names.Keys)
            {
                trie = trie.Add(s);
            }
            return(trie);
        }
예제 #14
0
        public void TestELookupAllPrefixes2()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("i");
            t = t.Add("ice");
            StringBuilder sb = new StringBuilder();

            sb.Append(t.Contains(""));
            sb.Append(t.Contains("i"));
            sb.Append(t.Contains("ic"));
            sb.Append(t.Contains("ice"));
            Assert.That(sb.ToString(), Is.EqualTo("FalseTrueFalseTrue"));
        }
예제 #15
0
        public void TestBAddInvalid2()
        {
            Exception e = null;
            ITrie     t = new TrieWithNoChildren();

            try
            {
                t = t.Add("{");
            }
            catch (Exception ex)
            {
                e = ex;
            }
            Assert.That(e, Is.Not.Null.And.TypeOf(typeof(ArgumentException)));
        }
예제 #16
0
        public void TestFAddDifferentLetterLookUpAll()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("i");
            t = t.Add("ice");
            t = t.Add("cream");
            StringBuilder sb = new StringBuilder();

            sb.Append(t.Contains(""));
            sb.Append(t.Contains("i"));
            sb.Append(t.Contains("ice"));
            sb.Append(t.Contains("cream"));
            Assert.That(sb.ToString, Is.EqualTo("FalseTrueTrueTrue"));
        }
예제 #17
0
        /// <summary>
        /// Handles a Click event on the "Find Words" button.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void uxFindWords_Click(object sender, EventArgs e)
        {
            ITrie results = new TrieWithNoChildren();

            bool[,] used = new bool[_gridSize, _gridSize];
            StringBuilder prefix = new StringBuilder();

            for (int i = 0; i < _gridSize; i++)
            {
                for (int j = 0; j < _gridSize; j++)
                {
                    results = GetWords(i, j, used, prefix, _wordList, results);
                }
            }

            uxWordsFound.Items.Clear();
            uxWordsFound.BeginUpdate();
            results.AddAll(new StringBuilder(), uxWordsFound.Items);
            uxWordsFound.EndUpdate();
        }
예제 #18
0
        /// <summary>
        /// Handles a Click event on the Find Words button.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void uxFindWords_Click(object sender, EventArgs e)
        {
            ITrie results = new TrieWithNoChildren();

            bool[,] used = new bool[_gridSize, _gridSize];
            StringBuilder pathHolder = new StringBuilder();

            for (int i = 0; i < _gridSize; i++)
            {
                for (int j = 0; j < _gridSize; j++)
                {
                    used[i, j] = false;
                    results    = FindWords(i, j, used, pathHolder, _wordList, results);
                }
            }
            // Add code to search the board for words.

            uxWordsFound.Items.Clear();
            uxWordsFound.BeginUpdate();
            results.AddAll(new StringBuilder(), uxWordsFound.Items);
            uxWordsFound.EndUpdate();
        }
예제 #19
0
        public void TrieTest_LookupEmpty()
        {
            ITrie trie = new TrieWithNoChildren();

            Assert.That(trie.WildcardSearch(""), Is.False);
        }
예제 #20
0
        public void TestCAddShortWordCheckType()
        {
            ITrie t = new TrieWithNoChildren();

            t = t.Add("i");
        }
예제 #21
0
        public void TestAEmptyContainsInvalidString()
        {
            ITrie t = new TrieWithNoChildren();

            Assert.That(t.Contains("`"), Is.False);
        }
예제 #22
0
        public void TestAEmptyContainsNonemptyString()
        {
            ITrie t = new TrieWithNoChildren();

            Assert.That(t.Contains("word"), Is.False);
        }