public async Task getDataFromServerNearFunction() { var custom = new CB.CloudTable("CustomGeoPoint"); var newColumn7 = new CB.Column("location"); newColumn7.DataType = CB.DataType.GeoPoint.ToString(); custom.AddColumn(newColumn7); var response = await custom.SaveAsync(); var loc = new CB.CloudGeoPoint(17.7, 80.0); var obj = new CB.CloudObject("CustomGeoPoint"); obj.Set("location", loc); await obj.SaveAsync(); var search = new CB.CloudSearch("CustomGeoPoint"); search.SearchFilter = new CB.SearchFilter(); search.SearchFilter.Near("location", loc, 1); var list = (List <CB.CloudObject>) await search.Search(); if (list.Count > 0) { Assert.IsTrue(true); } else { Assert.Fail("should have retrieved data"); } }
public async Task EqualToWithCloudSearchOverCloudObject() { var custom = new CB.CloudTable("CustomRelation"); var newColumn1 = new CB.Column("newColumn7"); newColumn1.DataType = CB.DataType.Relation.ToString(); custom.AddColumn(newColumn1); await custom.SaveAsync(); var loc = new CB.CloudGeoPoint(17.7, 80.0); var obj = new CB.CloudObject("CustomRelation"); var obj1 = new CB.CloudObject("student1"); obj1.Set("name", "Ranjeet"); obj.Set("newColumn7", obj1); await obj.SaveAsync(); var search = new CB.CloudSearch("CustomRelation"); search.SearchFilter = new CB.SearchFilter(); search.SearchFilter.EqualTo("newColumn7", obj.Get("newColumn7")); var list = (List <CB.CloudObject>) await search.Search(); if (list.Count > 0) { Assert.IsTrue(true); } else { Assert.Fail("should have retrieved data"); } }
public async Task OrBetweenTables() { var obj = new CB.CloudObject("Student"); obj.Set("name", "RAVI"); var obj1 = new CB.CloudObject("hostel"); obj1.Set("room", 509); await obj.SaveAsync(); await obj1.SaveAsync(); ArrayList tableNames = new ArrayList(); tableNames.Add("Student"); tableNames.Add("hostel"); var sq = new CB.SearchQuery(); sq.SearchOn("name", "ravi", null, null, null, null); var sq1 = new CB.SearchQuery(); sq1.SearchOn("room", 509, null, null, null, null); var cs = new CB.CloudSearch(tableNames); cs.SearchQuery = new SearchQuery(); cs.SearchQuery.Or(sq); cs.SearchQuery.Or(sq1); var list = (List <CB.CloudObject>) await cs.Search(); var table = tableNames.ToArray(); for (int i = 0; i < list.Count; i++) { if (list[i].TableName != null) { var name = (string)list[i].TableName; table = table.Where(val => val.ToString() != name).ToArray(); } } if (table.Length == 0) { Assert.IsTrue(true); } else { Assert.Fail("Search on both tables with OR failed."); } }
public async Task shouldSearchWithNotEqualToValue() { var cs = new CB.CloudSearch("Student"); cs.SearchFilter = new CB.SearchFilter(); cs.SearchFilter.NotEqualTo("age", 19); var list = (List <CB.CloudObject>) await cs.Search(); Assert.IsTrue(true); }
public async Task searchObjectWithPhrase() { var cs = new CB.CloudSearch("Student"); cs.SearchQuery = new CB.SearchQuery(); cs.SearchQuery.Phrase("name", "Gautam Singh", null, null); var list = (List <CB.CloudObject>) await cs.Search(); Assert.IsTrue(true); }
public async Task searchForObjectWithBestColumns() { var cs = new CB.CloudSearch("Student"); cs.SearchQuery = new CB.SearchQuery(); string[] column = { "name", "description" }; cs.SearchQuery.BestColumns(column, "G", null, null, null, null); var list = (List <CB.CloudObject>) await cs.Search(); Assert.IsTrue(true); }
public async Task searchForObjectWithStartWith() { var cs = new CB.CloudSearch("Student"); cs.SearchQuery = new CB.SearchQuery(); cs.SearchQuery.StartsWith("name", "G", null); var list = (List <CB.CloudObject>) await cs.Search(); Assert.IsTrue(true); }
public async Task searchObjectWithWhileCard() { var cs = new CB.CloudSearch("Student"); cs.SearchQuery = new CB.SearchQuery(); cs.SearchQuery.WildCard("name", "G*", null); var list = (List <CB.CloudObject>) await cs.Search(); Assert.IsTrue(true); }
public async Task searchIndexedObject() { var cs = new CB.CloudSearch("Custom1"); cs.SearchQuery = new CB.SearchQuery(); cs.SearchQuery.SearchOn("description", "wi-fi", null, null, null, null); var list = (List <CB.CloudObject>) await cs.Search(); if (list.Count > 0) { Assert.IsTrue(true); } }
public async Task searchObjectForGivenValue() { var cs = new CB.CloudSearch("Student"); cs.SearchFilter = new CB.SearchFilter(); cs.SearchFilter.EqualTo("age", 19); var list = (List <CB.CloudObject>) await cs.Search(); if (list.Count > 0) { Assert.IsTrue(true); } }
public async Task sortInDescendingOrder() { var cs = new CB.CloudSearch("Student"); cs.OrderByDesc("age"); var list = (List <CB.CloudObject>) await cs.Search(); if (list.Count > 0) { Assert.IsTrue(true); } else { Assert.Fail(""); } }
public async Task columnExistsTest() { var cs = new CB.CloudSearch("Student"); cs.SearchFilter = new CB.SearchFilter(); cs.SearchFilter.Exists("name"); var list = (List <CB.CloudObject>) await cs.Search(); if (list.Count > 0) { Assert.IsTrue(true); } else { Assert.Fail(""); } }
public async Task searchRecordsWhichDoNotHaveCertainColumnTest() { var cs = new CB.CloudSearch("Student"); cs.SearchFilter = new CB.SearchFilter(); cs.SearchFilter.DoesNotExists("expire"); var list = (List <CB.CloudObject>) await cs.Search(); if (list.Count > 0) { Assert.IsTrue(true); } else { Assert.Fail(""); } }
public async Task setLimitTest() { var cs = new CB.CloudSearch("Student"); cs.SearchFilter = new CB.SearchFilter(); cs.SearchFilter.NotEqualTo("age", 19); cs.Limit = 0; var list = (List <CB.CloudObject>) await cs.Search(); if (list.Count == 0) { Assert.IsTrue(true); } else { Assert.Fail("should limit the number of results"); } }
public async Task recordsWithinCertainRange() { var cs = new CB.CloudSearch("Student"); cs.SearchFilter = new CB.SearchFilter(); cs.SearchFilter.GreaterThan("age", 19); cs.SearchFilter.LessThan("age", 50); var list = (List <CB.CloudObject>) await cs.Search(); if (list.Count > 0) { Assert.IsTrue(true); } else { Assert.Fail(""); } }
public async Task minimumPercentQueries() { var obj = new CB.CloudObject("Student"); obj.Set("name", "RAVI"); await obj.SaveAsync(); ArrayList tableNames = new ArrayList(); tableNames.Add("Student"); var cs = new CB.CloudSearch(tableNames); cs.SearchQuery = new CB.SearchQuery(); cs.SearchQuery.SearchOn("name", "ravi", null, null, "75%", null); cs.Limit = 9999; var list = (List <CB.CloudObject>) await cs.Search(); var table = tableNames.ToArray(); for (int i = 0; i < list.Count; i++) { if (list[i].TableName != null) { var name = (string)list[i].TableName; table = table.Where(val => val.ToString() != (string)name).ToArray(); } } if (table.Length == 0) { Assert.IsTrue(true); } else { Assert.Fail("Search on both tables with OR failed."); } }
public async Task skipTest() { var obj = new CB.CloudObject("Student"); obj.Set("age", 21); await obj.SaveAsync(); var cs = new CB.CloudSearch("Student"); cs.SearchFilter = new CB.SearchFilter(); cs.SearchFilter.NotEqualTo("age", 19); cs.Skip = 999999; var list = (List <CB.CloudObject>) await cs.Search(); if (list.Count == 0) { cs = new CB.CloudSearch("Student"); cs.SearchFilter = new CB.SearchFilter(); cs.SearchFilter.NotEqualTo("age", 19); cs.Skip = 1; list = (List <CB.CloudObject>) await cs.Search(); if (list.Count > 0) { Assert.IsTrue(true); } else { Assert.Fail(""); } } else { Assert.Fail(""); } }
public static CloudSearch Or(CloudSearch searchObj1, CloudSearch searchObj2) { var collectionNames = new ArrayList(); if (searchObj1.dictionary["collectionNames"].GetType() == typeof(ArrayList)) { collectionNames.AddRange((ArrayList)searchObj1.dictionary["collectionNames"]); } else { collectionNames.Add((ArrayList)searchObj1.dictionary["collectionNames"]); } if (searchObj2.dictionary["collectionNames"].GetType() == typeof(ArrayList)) { //check for duplicates. for (var i = 0; i < ((ArrayList)searchObj2.dictionary["collectionNames"]).Count; i++) { if (collectionNames.IndexOf(((ArrayList)searchObj2.dictionary["collectionNames"])[i]) < 0) collectionNames.Add(((ArrayList)searchObj2.dictionary["collectionNames"])[i]); } } else { if (collectionNames.IndexOf(((string)searchObj2.dictionary["collectionNames"])) < 0) collectionNames.Add(((ArrayList)searchObj2.dictionary["collectionNames"])); } var obj3 = new CB.CloudSearch(collectionNames); //merge both of the objects. Dictionary<string, Object> q1 = null; Dictionary<string, Object> q2 = null; Dictionary<string, Object> f1 = null; Dictionary<string, Object> f2 = null; if (((((Dictionary<string, Object>)searchObj1.dictionary["query"])["filteredQuery"])) != null && (((Dictionary<string, Object>)((Dictionary<string, Object>)searchObj1.dictionary["query"])["filteredQuery"])["query"]) != null) { q1 = (Dictionary<string, Object>)(((Dictionary<string, Object>)((Dictionary<string, Object>)searchObj1.dictionary["query"])["filteredQuery"])["query"]); } else if (searchObj1.dictionary["query"] != null && ((((Dictionary<string, Object>)searchObj1.dictionary["query"])["filteredQuery"])) == null) { q1 = (Dictionary<string, Object>)searchObj1.dictionary["query"]; } if (((((Dictionary<string, Object>)searchObj2.dictionary["query"])["filteredQuery"])) != null && (((Dictionary<string, Object>)((Dictionary<string, Object>)searchObj2.dictionary["query"])["filteredQuery"])["query"]) != null) { q2 = (Dictionary<string, Object>)(((Dictionary<string, Object>)((Dictionary<string, Object>)searchObj2.dictionary["query"])["filteredQuery"])["query"]); } else if (searchObj2.dictionary["query"] != null && ((((Dictionary<string, Object>)searchObj2.dictionary["query"])["filteredQuery"])) == null) { q2 = (Dictionary<string, Object>)searchObj2.dictionary["query"]; } if (((((Dictionary<string, Object>)searchObj1.dictionary["query"])["filteredQuery"])) != null && (((Dictionary<string, Object>)((Dictionary<string, Object>)searchObj1.dictionary["query"])["filteredQuery"])["filter"]) != null) f1 = (Dictionary<string, Object>)(((Dictionary<string, Object>)((Dictionary<string, Object>)searchObj1.dictionary["query"])["filteredQuery"])["filter"]); if (((((Dictionary<string, Object>)searchObj2.dictionary["query"])["filteredQuery"])) != null && (((Dictionary<string, Object>)((Dictionary<string, Object>)searchObj2.dictionary["query"])["filteredQuery"])["filter"]) != null) f2 = (Dictionary<string, Object>)(((Dictionary<string, Object>)((Dictionary<string, Object>)searchObj2.dictionary["query"])["filteredQuery"])["filter"]); if (f1.Count > 0 || f2.Count > 0) { //if any of the filters exist, then... obj3._MakeFilteredQuery(); if (f1.Count > 0 && f2.Count == 0) (((Dictionary<string, Object>)((Dictionary<string, Object>)obj3.dictionary["query"])["filteredQuery"])["filter"]) = f1; else if (f2.Count > 0 && f1.Count == 0) (((Dictionary<string, Object>)((Dictionary<string, Object>)obj3.dictionary["query"])["filteredQuery"])["filter"]) = f2; else { //if both exists. obj3._PushInShouldFilter(f1); obj3._PushInShouldFilter(f2); } } else { //only query exists. obj3._CreateBoolQuery(); obj3._PushInShouldQuery(q1); obj3._PushInShouldQuery(q2); } return obj3; }