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());
        }
Exemplo n.º 3
0
 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]);
 }
Exemplo n.º 4
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);
                }
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 7
0
 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]);
 }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
        }