Exemplo n.º 1
0
        public void GetOrCreateWithNewLetter()
        {
            var node = new TrieTree.NodesList().GetOrCreateNode('a');

            Assert.IsNotNull(node);
            Assert.AreEqual('a', node.Letter);
        }
Exemplo n.º 2
0
        public void GetOrCreateWithKnownLetter()
        {
            var list  = new TrieTree.NodesList();
            var node1 = list.GetOrCreateNode('a');
            var node2 = list.GetOrCreateNode('a');

            Assert.AreSame(node1, node2);
            Assert.AreEqual(1, list.Count, "Count");
        }
Exemplo n.º 3
0
        public void GetOrCreateTwoLetters()
        {
            var list         = new TrieTree.NodesList();
            var initialCount = list.Count;
            var node1        = list.GetOrCreateNode('a');
            var count1       = list.Count;
            var node2        = list.GetOrCreateNode('b');
            var count2       = list.Count;

            Assert.IsNotNull(node1);
            Assert.IsNotNull(node2);
            Assert.AreNotSame(node1, node2);
            Assert.AreEqual('a', node1.Letter);
            Assert.AreEqual('b', node2.Letter);
            Assert.AreEqual(0, initialCount, "initial count");
            Assert.AreEqual(1, count1, "count 1");
            Assert.AreEqual(2, count2, "count 2");
        }