public void ExecutePaged_Where_Fetches_Following_Pages() { const int pageSize = 5; var table = GetTable(); var fullList = new HashSet <Guid>(); var page = table.Where(s => CqlFunction.Token(s.Id) > long.MinValue).SetPageSize(pageSize).ExecutePaged(); Assert.AreEqual(pageSize, page.Count); foreach (var s in page) { fullList.Add(s.Id); } var safeCounter = 0; while (page.PagingState != null && safeCounter++ < TotalRows) { page = table.Where(s => CqlFunction.Token(s.Id) > long.MinValue).SetPageSize(pageSize).SetPagingState(page.PagingState).ExecutePaged(); Assert.LessOrEqual(page.Count, pageSize); foreach (var s in page) { fullList.Add(s.Id); } } Assert.AreEqual(TotalRows, fullList.Count); }
public void ExecutePaged_Where_Fetches_Only_PageSize() { const int pageSize = 10; var table = GetTable(); var page = table.Where(s => CqlFunction.Token(s.Id) > long.MinValue).SetPageSize(pageSize).ExecutePaged(); Assert.AreEqual(pageSize, page.Count); Assert.AreEqual(pageSize, page.Count()); }
public void MinTimeUuid_Linq_Test() { string query = null; object[] parameters = null; var session = GetSession((q, v) => { query = q; parameters = v; }); var table = GetTable<AllTypesEntity>(session, new Map<AllTypesEntity>().TableName("tbl2")); var timestamp = DateTimeOffset.Parse("1/1/2010"); table.Where(t => t.UuidValue < CqlFunction.MinTimeUuid(timestamp)).Execute(); Assert.AreEqual("SELECT BooleanValue, DateTimeValue, DecimalValue, DoubleValue, Int64Value, IntValue, StringValue, UuidValue FROM tbl2 WHERE UuidValue < mintimeuuid(?)", query); Assert.AreEqual(timestamp, parameters[0]); }
public void Token_LessThan_String() { EntityWithTimeUuid.SetupEntity(_tableEntityWithTimeUuid, _expectedTimeUuidObjectList); List <EntityWithTimeUuid> listAsTheyAreInCassandra = _tableEntityWithTimeUuid.Execute().ToList(); Assert.AreEqual(_expectedTimeUuidObjectList.Count, listAsTheyAreInCassandra.Count); for (int i = 0; i < listAsTheyAreInCassandra.Count; i++) { EntityWithTimeUuid singleEntity = listAsTheyAreInCassandra[i]; var whereQuery = _tableEntityWithTimeUuid.Where(s => CqlFunction.Token(s.StringType) < CqlFunction.Token(singleEntity.StringType)); List <EntityWithTimeUuid> objectsReturned1 = whereQuery.ExecuteAsync().Result.ToList(); Assert.AreEqual(i, objectsReturned1.Count); foreach (var actualObj in objectsReturned1) { EntityWithTimeUuid.AssertListContains(_expectedTimeUuidObjectList, actualObj); } } }
public void MaxTimeUuid_GreaterThanOrEqualTo_TimeUuidComparison() { EntityWithTimeUuid.SetupEntity(_tableEntityWithTimeUuid, _expectedTimeUuidObjectList); var whereQuery = _tableEntityWithTimeUuid.Where(s => s.TimeUuidType >= CqlFunction.MaxTimeUuid(_dateBefore)); List <EntityWithTimeUuid> objectsReturned1 = whereQuery.ExecuteAsync().Result.ToList(); Assert.AreEqual(_expectedTimeUuidObjectList.Count, objectsReturned1.Count); foreach (var actualObj in objectsReturned1) { EntityWithTimeUuid.AssertListContains(_expectedTimeUuidObjectList, actualObj); } whereQuery = _tableEntityWithTimeUuid.Where(s => s.TimeUuidType >= CqlFunction.MaxTimeUuid(_dateAfter)); List <EntityWithTimeUuid> objectsReturned2 = whereQuery.ExecuteAsync().Result.ToList(); Assert.AreEqual(0, objectsReturned2.Count); }
public void MaxTimeUuid_Linq_Test() { string query = null; object[] parameters = null; var session = GetSession((q, v) => { query = q; parameters = v; }); var table = GetTable <AllTypesEntity>(session, new Map <AllTypesEntity>().TableName("tbl100")); table.Where(t => t.UuidValue <= CqlFunction.MaxTimeUuid(DateTimeOffset.Parse("1/1/2005"))).Execute(); Assert.AreEqual("SELECT * FROM tbl100 WHERE UuidValue <= maxtimeuuid(?)", query); Assert.AreEqual(DateTimeOffset.Parse("1/1/2005"), parameters[0]); table.Where(t => CqlFunction.MaxTimeUuid(DateTimeOffset.Parse("1/1/2005")) > t.UuidValue).Execute(); Assert.AreEqual("SELECT * FROM tbl100 WHERE maxtimeuuid(?) > UuidValue", query); }
public void Token_Function_Linq_Test() { string query = null; object[] parameters = null; var session = GetSession((q, v) => { query = q; parameters = v; }); //This time is case sensitive var table = GetTable<AllTypesEntity>(session, new Map<AllTypesEntity>().TableName("tbl3").CaseSensitive()); var key = "key1"; table.Where(t => CqlFunction.Token(t.StringValue) > CqlFunction.Token(key)).Execute(); Assert.AreEqual(@"SELECT ""BooleanValue"", ""DateTimeValue"", ""DecimalValue"", ""DoubleValue"", ""Int64Value"", ""IntValue"", ""StringValue"", ""UuidValue"" FROM ""tbl3"" WHERE token(""StringValue"") > token(?)", query); Assert.AreEqual(key, parameters[0]); table.Where(t => CqlFunction.Token(t.StringValue, t.Int64Value) <= CqlFunction.Token(key, "key2")).Execute(); Assert.AreEqual(@"SELECT ""BooleanValue"", ""DateTimeValue"", ""DecimalValue"", ""DoubleValue"", ""Int64Value"", ""IntValue"", ""StringValue"", ""UuidValue"" FROM ""tbl3"" WHERE token(""StringValue"", ""Int64Value"") <= token(?, ?)", query); Assert.AreEqual(key, parameters[0]); Assert.AreEqual("key2", parameters[1]); }
public void Token_EqualTo_String() { EntityWithTimeUuid.SetupEntity(_tableEntityWithTimeUuid, _expectedTimeUuidObjectList); foreach (EntityWithTimeUuid singleEntity in _expectedTimeUuidObjectList) { var whereQuery = _tableEntityWithTimeUuid.Where(s => CqlFunction.Token(s.StringType) == CqlFunction.Token(singleEntity.StringType)); List <EntityWithTimeUuid> objectsReturned1 = whereQuery.ExecuteAsync().Result.ToList(); Assert.AreEqual(1, objectsReturned1.Count); EntityWithTimeUuid.AssertEquals(singleEntity, objectsReturned1.First()); foreach (var actualObj in objectsReturned1) { EntityWithTimeUuid.AssertListContains(_expectedTimeUuidObjectList, actualObj); } } // change to query that returns nothing var whereQueryReturnsNothing = _tableEntityWithTimeUuid.Where(s => CqlFunction.Token(s.StringType) == CqlFunction.Token(Guid.NewGuid().ToString())); List <EntityWithTimeUuid> objectsReturned2 = whereQueryReturnsNothing.ExecuteAsync().Result.ToList(); Assert.AreEqual(0, objectsReturned2.Count); }
public void MinTimeUuid_LessThan_TimeUuidComparison() { EntityWithTimeUuid.SetupEntity(_tableEntityWithTimeUuid, _expectedTimeUuidObjectList); var whereQuery = _tableEntityWithTimeUuid.Where(s => s.TimeUuidType < CqlFunction.MinTimeUuid(_dateAfter)); string whereQueryToStr = whereQuery.ToString(); Console.WriteLine(whereQueryToStr); List <EntityWithTimeUuid> objectsReturned1 = whereQuery.ExecuteAsync().Result.ToList(); Assert.AreEqual(_expectedTimeUuidObjectList.Count, objectsReturned1.Count); foreach (var actualObj in objectsReturned1) { EntityWithTimeUuid.AssertListContains(_expectedTimeUuidObjectList, actualObj); } whereQuery = _tableEntityWithTimeUuid.Where(s => s.TimeUuidType < CqlFunction.MinTimeUuid(_dateBefore)); whereQueryToStr = whereQuery.ToString(); Console.WriteLine(whereQueryToStr); List <EntityWithTimeUuid> objectsReturned2 = whereQuery.ExecuteAsync().Result.ToList(); Assert.AreEqual(0, objectsReturned2.Count); }
public void MinTimeUuid_GreaterThan_NullableTimeUuidComparison() { EntityWithNullableTimeUuid.SetupEntity(_tableEntityWithNullableTimeUuid, _expectedNullableTimeUuidObjectList); var whereQuery = _tableEntityWithNullableTimeUuid.Where(s => s.NullableTimeUuidType > CqlFunction.MinTimeUuid(_dateBefore)); List <EntityWithNullableTimeUuid> objectsReturned1 = whereQuery.ExecuteAsync().Result.ToList(); Assert.AreEqual(_expectedTimeUuidObjectList.Count, objectsReturned1.Count); foreach (var actualObj in objectsReturned1) { EntityWithNullableTimeUuid.AssertListContains(_expectedNullableTimeUuidObjectList, actualObj); } //var taskSelect = _movieTable.Where(m => m.Title == expectedMovie.Title && m.MovieMaker == expectedMovie.MovieMaker).ExecuteAsync(); whereQuery = _tableEntityWithNullableTimeUuid.Where(s => s.NullableTimeUuidType > CqlFunction.MinTimeUuid(_dateAfter)); List <EntityWithNullableTimeUuid> objectsReturned2 = whereQuery.ExecuteAsync().Result.ToList(); Assert.AreEqual(0, objectsReturned2.Count); }