public void NullableTest() { var f1 = new Expressions.KVFieldExpression(1, EntityFieldType.Int32); var f2 = new Expressions.KVFieldExpression(2, EntityFieldType.Guid); Expressions.Expression exp = f1 > 5 & f2 == null; var expString1 = exp.ToString(); var linqExp = exp.ToLinqExpression(TestHelper.GetMockExpressionContext()); var expString2 = linqExp.ToString(); }
public unsafe void KVFieldExpressionTest_Mvcc() { var data = StringHelper.FromHexString("00000020E4D8BEBE75592200000080000600004141414141310501880100000000000000000002060000414141414131"); var field = new Expressions.KVFieldExpression(Consts.EMPLOEE_NAME_ID, EntityFieldType.String); Expressions.Expression filter = field == "AAAAA1"; var ctx = TestHelper.GetMockExpressionContext(); var body = filter.ToLinqExpression(ctx); var exp = Expression.Lambda <KVFilterFunc>(body, ctx.GetParameter("vp"), ctx.GetParameter("vs"), ctx.GetParameter("mv"), ctx.GetParameter("ts")); var func = exp.Compile(); fixed(byte *ptr = data) { IntPtr dataPtr = new IntPtr(ptr); Assert.True(func(dataPtr, data.Length, true, ulong.MaxValue)); } }
public unsafe void KVFieldExpressionTest_NoneMvcc() { var data = StringHelper.FromHexString("400005000041646D696E800005000041646D696E"); var field = new Expressions.KVFieldExpression(Consts.EMPLOEE_NAME_ID, EntityFieldType.String); Expressions.Expression filter = field == "Admin"; var ctx = TestHelper.GetMockExpressionContext(); var body = filter.ToLinqExpression(ctx); var exp = Expression.Lambda <KVFilterFunc>(body, ctx.GetParameter("vp"), ctx.GetParameter("vs"), ctx.GetParameter("mv"), ctx.GetParameter("ts")); var func = exp.Compile(); fixed(byte *ptr = data) { IntPtr dataPtr = new IntPtr(ptr); Assert.True(func(dataPtr, data.Length, false, 0)); } }