Exemplo n.º 1
0
        public void StartsWith_Test()
        {
            var table    = new Table <LinqDecoratedWithStringCkEntity>(GetSession((_, __) => {}));
            var query    = table.Where(t => t.pk == "a" && t.ck1.StartsWith("foo") && t.pk == "bar");
            var pocoData = MappingConfiguration.Global.MapperFactory.GetPocoData <LinqDecoratedWithStringCkEntity>();
            var visitor  = new CqlExpressionVisitor(pocoData, "x_ts", null);
            var queryCql = visitor.GetSelect(query.Expression, out object[] parameters);

            Assert.That(parameters, Is.EquivalentTo(new[] { "a", "foo", "foo" + Encoding.UTF8.GetString(new byte[] { 0xF4, 0x8F, 0xBF, 0xBF }), "bar" }));
            Assert.AreEqual(@"SELECT ""x_ck1"", ""x_f1"", ""x_pk"" FROM ""x_ts"" WHERE ""x_pk"" = ? AND ""x_ck1"" >= ? AND ""x_ck1"" < ? AND ""x_pk"" = ?", queryCql);
        }
Exemplo n.º 2
0
        public void FieldAccess_Test()
        {
            var testObject = new TestObject
            {
                Field = "a",
                AnotherObjectField = new TestObject
                {
                    Field = "b"
                }
            };
            var table    = new Table <LinqDecoratedWithStringCkEntity>(GetSession((_, __) => { }));
            var query    = table.Where(t => t.pk == testObject.Field && t.ck1 == testObject.AnotherObjectField.Field);
            var pocoData = MappingConfiguration.Global.MapperFactory.GetPocoData <LinqDecoratedWithStringCkEntity>();
            var visitor  = new CqlExpressionVisitor(pocoData, "x_ts", null);
            var queryCql = visitor.GetSelect(query.Expression, out object[] parameters);

            Assert.That(parameters, Is.EquivalentTo(new[] { "a", "b" }));
            Assert.AreEqual(@"SELECT ""x_ck1"", ""x_f1"", ""x_pk"" FROM ""x_ts"" WHERE ""x_pk"" = ? AND ""x_ck1"" = ?", queryCql);
        }