public void GivenAWord_WhenIsHafOfAnotherWord_ShouldRemoveTheEndOfWordFlag()
        {
            // Arrange
            var trie = new MyTrie();
            trie.Insert("can");
            trie.Insert("cannon");

            // Act
            trie.Remove("can");

            // Assert
            trie.HasWord("can").Should().BeFalse();
            trie.HasWord("cannon").Should().BeTrue();
        }
Exemple #2
0
        public void GivenTwoWords_WhenTheyAreDistinct_ShouldContainsBoth()
        {
            // Arrange
            var word1 = "cat";
            var word2 = "dog";
            var trie  = new MyTrie();

            // Act
            trie.Insert(word1);
            trie.Insert(word2);

            // Assert
            trie.HasWord(word1).Should().BeTrue();
            trie.HasWord(word2).Should().BeTrue();
        }
Exemple #3
0
        public void GivenAnEmptyString_WhenTrieIsEmpty_ShouldReturnFalse()
        {
            // Arrange
            var trie = new MyTrie();

            // Assert
            trie.HasWord("").Should().BeFalse();
        }
Exemple #4
0
        public void GivenNull_WhenTrieIsEmpty_ShouldReturnFalse()
        {
            // Arrange
            var trie = new MyTrie();

            // Assert
            trie.HasWord(null).Should().BeFalse();
        }
Exemple #5
0
        public void GivenAEmptyTrie_WhenTryToFindAWord_ShouldReturnFalse()
        {
            // Arrange
            var trie = new MyTrie();

            // Assert
            trie.HasWord("test").Should().BeFalse();
        }
        public void GivenAWord_WhenTrieHasThisOne_ShouldRemoveIt()
        {
            // Arrange
            var trie = new MyTrie();
            trie.Insert("cat");

            // Act
            trie.Remove("cat");

            // Assert
            trie.HasWord("cat").Should().BeFalse();
        }
Exemple #7
0
        public void GivenAWord_WhenTrieIsEmpty_ShouldAddIt()
        {
            // Arrange
            var word = "test";
            var trie = new MyTrie();

            // Act
            trie.Insert(word);

            // Assert
            trie.HasWord(word).Should().BeTrue();
        }
Exemple #8
0
        public void GivenATrie_WhenTryToFindAInexistentWord_ShouldReturnFalse()
        {
            // Arrange
            var word   = "cat";
            var search = "dog";
            var trie   = new MyTrie();

            // Act
            trie.Insert(word);

            // Assert
            trie.HasWord(search).Should().BeFalse();
        }
Exemple #9
0
        public void GivenAWord_WhenIsPartOfAnotherWord_ShouldReturnFalse()
        {
            // Arrange
            var word   = "Canada";
            var search = "Can";
            var trie   = new MyTrie();

            // Act
            trie.Insert(word);

            // Assert
            trie.HasWord(search).Should().BeFalse();
        }
Exemple #10
0
        public void GivenAWord_WhenTryToAddTwice_ShouldContainOne()
        {
            // Arrange
            var word = "test";
            var trie = new MyTrie();

            // Act
            trie.Insert(word);
            trie.Insert(word);

            // Assert
            trie.HasWord(word).Should().BeTrue();
        }