Esempio n. 1
0
 public Form1()
 {
     InitializeComponent();
     //prefixTree.AddStrings(MyFileOperation.ReadFromFileInArray("D:\\prog\\c#\\ISIT\\Dic_Big1.dic"));
     prefixTree.Add("куст");
     prefixTree.Add("хуба");
     prefixTree.Add("хуби");
     prefixTree.Add("хиби");
     prefixTree.Add("киба");
     prefixTree.Add("Буба");
     prefixTree.Add("Батя");
     prefixTree.Add("Бист");
     prefixTree.Add("Буст");
     prefixTree.Add("Кактус");
 }
Esempio n. 2
0
 /// <summary>
 /// Заполняет префиксное дерево из базы данных.
 /// </summary>
 /// <param name="prefixTree"></param>
 public void FillPrefixTree(ref PrefixTree prefixTree)
 {
     using (var context = new MyDbContext())
     {
         List <string> itemsIncome = context.Incomes.Select(x => x.Name).ToList();
         foreach (string item in itemsIncome)
         {
             prefixTree.Add(item);
         }
     }
 }
        public async Task TestTreeAddWithSingleCharStringTerm()
        {
            // Arrange
            var items = new[] { "A" };
            var tree = new PrefixTree();
            var expected = items;

            // Act
            tree.Add(items);
            var actual = await tree.FindAsync(string.Empty);
            // Assert
            Assert.IsNotNull(actual);
            Assert.AreEqual(expected.Count(), expected.Where(actual.Contains).Count());
        }
        public void SearchReturnsAllAvailableSubset(string searchString, string[] expected)
        {
            var trie = new PrefixTree();

            foreach (string word in MemoryDictionary)
            {
                trie.Add(word);
            }

            var results = trie.Search(searchString);

            Assert.IsFalse(results.Except(expected).Any());
            Assert.IsFalse(expected.Except(results).Any());
        }
        public async Task TestTreeAddWithMultipleItemsStartedWithSamePrefix()
        {
            // Arrange
            var items = new[] { "AbC", "ABcD" };
            var tree = new PrefixTree();
            var expected = items;

            // Act
            tree.Add(items);
            var actual =await tree.FindAsync(string.Empty);

            // Assert
            Assert.IsNotNull(actual);
            Assert.AreEqual(expected.Count(), expected.Count(x => actual.Contains(x.ToUpper())));

        }
        public async Task TestGetItemsWithFullTerm()
        {
            // Arrange
            var items = new[] { "ABC" };
            var tree = new PrefixTree();
            tree.Add(items);

            var expected = items;

            // Act
            var actual =await tree.FindAsync("ABC");

            // Assert
            Assert.IsNotNull(actual);
            Assert.AreEqual(expected.Count(), expected.Where(actual.Contains).Count());
        }
        public async Task TestGetItemsWithSingleCharAndMultipleBranches()
        {
            // Arrange
            var items = new[] { "ABCD", "AdCE" };
            var tree = new PrefixTree();
            tree.Add(items);

            var expected = items;

            // Act
            var actual =await tree.FindAsync("A");

            // Assert
            Assert.IsNotNull(actual);
            Assert.AreEqual(expected.Count(), expected.Count(x => actual.Contains(x.ToUpper())));
        }
        public void TestAddNullThrowsException()
        {

            // Arrange
            var items = new[] { "as", null, "daf" };
            var tree = new PrefixTree();

            // Act
            tree.Add(items);
        }
        public async Task TestFindNullThrowsException()
        {

            // Arrange
            var items = new[] { "ABF", "ABE" };
            var tree = new PrefixTree();
            tree.Add(items);

            // Act
            await tree.FindAsync(null);
        }
Esempio n. 10
0
 public void AddOneWord()
 {
     _tree.Add("word");
     _tree.Contains("word").Should().BeTrue();
 }