Ejemplo n.º 1
0
        public async Task TestWebFullTextSearch()
        {
            var client = Client.Initialize(baseUrl);
            var config = new FullTextSearchConfig("'fat' & 'cat'", "english");

            var filteredResponse = await client.Table <User>().Filter("catchphrase", Operator.WFTS, config).Get();

            Assert.AreEqual(1, filteredResponse.Models.Count);
            Assert.AreEqual("supabot", filteredResponse.Models.FirstOrDefault()?.Username);
        }
Ejemplo n.º 2
0
        public async Task TestPhrasetoFullTextSearch()
        {
            var client = Client.Initialize(baseUrl);
            var config = new FullTextSearchConfig("'cat'", "english");

            var filteredResponse = await client.Table <User>().Filter("catchphrase", Operator.PHFTS, config).Get();

            var usersResponse = await client.Table <User>().Filter("catchphrase", Operator.NotEqual, null).Get();

            var testAgainst = usersResponse.Models.Where(u => u.Catchphrase.Contains("'cat'")).ToList();

            CollectionAssert.AreEqual(testAgainst, filteredResponse.Models);
        }
Ejemplo n.º 3
0
        public void TestFiltersFullTextSearch()
        {
            var client = Client.Initialize(baseUrl);

            // UrlEncoded [2,3]
            var exp  = "(english).bar";
            var dict = new Dictionary <Constants.Operator, string>
            {
                { Constants.Operator.FTS, $"fts{exp}" },
                { Constants.Operator.PHFTS, $"phfts{exp}" },
                { Constants.Operator.PLFTS, $"plfts{exp}" },
                { Constants.Operator.WFTS, $"wfts{exp}" },
            };

            foreach (var pair in dict)
            {
                var config = new FullTextSearchConfig("bar", "english");
                var filter = new QueryFilter("foo", pair.Key, config);
                var result = client.Table <User>().PrepareFilter(filter);
                Assert.AreEqual("foo", result.Key);
                Assert.AreEqual(pair.Value, result.Value);
            }
        }