Esempio n. 1
0
        public void Compute_ordered_multiplier()
        {
            var multiplier1 = FullTextIndex.ComputeBonusIfOrderIsPreserved(Tokenize("a b c"), Tokenize("b c a"));
            var multiplier2 = FullTextIndex.ComputeBonusIfOrderIsPreserved(Tokenize("a b c"), Tokenize("c b a"));

            Assert.IsTrue(multiplier1 > multiplier2);
            Assert.AreEqual(1, multiplier2); // no multiplier as the order is not preserved

            var multiplier3 = FullTextIndex.ComputeBonusIfOrderIsPreserved(Tokenize("nice evening"), Tokenize("nice evening"));
            var multiplier4 = FullTextIndex.ComputeBonusIfOrderIsPreserved(Tokenize("nice evening"), Tokenize("it was a nice evening"));

            Assert.AreEqual(multiplier3, multiplier4);
            Assert.IsTrue(multiplier3 > 1);

            var multiplier5 = FullTextIndex.ComputeBonusIfOrderIsPreserved(Tokenize("nice and happy evening"), Tokenize("nice evening"));
            var multiplier6 = FullTextIndex.ComputeBonusIfOrderIsPreserved(Tokenize("nice evening"), Tokenize("nice and happy evening"));

            Assert.IsTrue(multiplier6 > multiplier5);
            Assert.IsTrue(multiplier5 > 1);

            var multiplier7 =
                FullTextIndex.ComputeBonusIfOrderIsPreserved(Tokenize("nice view close beach"),
                                                             Tokenize("nice view and close to the beach"));

            Assert.IsTrue(multiplier7 > 10 * 3);

            var multiplier8 = FullTextIndex.ComputeBonusIfOrderIsPreserved(Tokenize("c++"), Tokenize("c++"));
            var multiplier9 = FullTextIndex.ComputeBonusIfOrderIsPreserved(Tokenize("c++"), Tokenize("+c"));

            Assert.IsTrue(multiplier8 > 1);
            Assert.AreEqual(1, multiplier9); // no multiplier as the order is not preserved
        }