Example #1
0
        public void CheckTotalTrigramCount()
        {
            var index = new NGramSearch.IntersectionCountIndex <int>(3);

            index.Add(1, "abcd");
            Assert.Equal(4, index.GetAllNGrams().Count());

            index.Add(2, "defg");
            Assert.Equal(8, index.GetAllNGrams().Count());

            index.Add(3, "abc"); // new is "bc_"
            Assert.Equal(9, index.GetAllNGrams().Count());
        }
Example #2
0
        public void CheckTotalFourgramCount()
        {
            var index = new NGramSearch.IntersectionCountIndex <int>(4);

            index.Add(1, "abcd");
            Assert.Equal(3, index.GetAllNGrams().Count());

            index.Add(2, "defg");
            Assert.Equal(6, index.GetAllNGrams().Count());

            index.Add(3, "abc"); // new is "abc_"
            Assert.Equal(7, index.GetAllNGrams().Count());
        }
Example #3
0
        public void CheckTotalBigramCount()
        {
            var index = new NGramSearch.IntersectionCountIndex <int>(2);

            index.Add(1, "abcd");
            Assert.Equal(5, index.GetAllNGrams().Count());

            index.Add(2, "defg");
            Assert.Equal(10, index.GetAllNGrams().Count());

            index.Add(3, "abc"); // new is "c_"
            Assert.Equal(11, index.GetAllNGrams().Count());
        }
Example #4
0
        public void CheckTooShortWord()
        {
            var index = new NGramSearch.IntersectionCountIndex <int>(4);

            index.Add(1, "a");

            Assert.Empty(index.GetAllNGrams());
        }
Example #5
0
        public void CheckNgramCount()
        {
            var germaniFirms = new NGramSearch.IntersectionCountIndex <int>();

            germaniFirms.Add(1, "volkswagen ag");
            germaniFirms.Add(2, "daimler ag");
            germaniFirms.Add(3, "allianz se");
            germaniFirms.Add(4, "bmw ag");
            germaniFirms.Add(5, "siemens ag");
            germaniFirms.Add(6, "lange uhren gmbh");

            var result = germaniFirms.GetAllNGrams()
                         .OrderByDescending(x => x.TotalPhraseNGramCount)
                         .ThenBy(x => x.NGram)
                         .ToList();

            Assert.Equal(4, result.First().TotalPhraseNGramCount);

            Assert.Equal(" ag", result[0].NGram);
            Assert.Equal(4, result[1].TotalPhraseNGramCount);

            Assert.Equal("ag ", result[1].NGram);
            Assert.Equal(4, result[1].TotalPhraseNGramCount);
        }