public void MatchPredicateWithModifier([IncludeDataSources(true, TestProvName.AllMySqlFullText)] string context, [Values] MySqlExtensions.MatchModifier modifier) { using (var db = GetDataContext(context)) { var query = db.GetTable <FullTextIndexTest>() .Where(r => Sql.Ext.MySql().Match(modifier, "found", r.TestField1, r.TestField2)) .OrderBy(r => r.Id); var results = query.ToList(); Assert.AreEqual(2, results.Count); Assert.AreEqual("looking for something?", results[0].TestField1); Assert.AreEqual("found it!", results[0].TestField2); Assert.AreEqual("record not found", results[1].TestField1); Assert.AreEqual("empty", results[1].TestField2); } }
public void MatchRelevancePredicateWithModifier([IncludeDataSources(true, TestProvName.AllMySqlFullText)] string context, [Values] MySqlExtensions.MatchModifier modifier) { using (var db = GetDataContext(context)) { var query = db.GetTable <FullTextIndexTest>() .OrderByDescending(r => Sql.Ext.MySql().MatchRelevance(modifier, "found", r.TestField1, r.TestField2)) .Select(r => Sql.Ext.MySql().MatchRelevance(modifier, "found", r.TestField1, r.TestField2)); var results = query.ToList(); Assert.AreEqual(3, results.Count); if (modifier == MySqlExtensions.MatchModifier.WithQueryExpansion) { Assert.Greater(results[0], results[1]); } else { Assert.AreEqual(results[0], results[1]); } Assert.Greater(results[1], results[2]); Assert.AreEqual(0, results[2]); } }