コード例 #1
0
        public void Verity_ParseContainsFieldShouldBeWork()
        {
            var filter = new MyOrderFilter()
            {
                UserId = new ContainsField <int>
                {
                    CompareMode = CompareMode.Contains,
                    SortMode    = SortMode.Asc,
                    Values      = new int[] { 10000 }
                }
            };

            var exprTree2 = DataFilterMetaInfoParser.Parse <MyOrder>(filter);

            Assert.Equal(exprTree2.NodeType, ExpressionType.Lambda);
            Assert.Equal(exprTree2.ToString(), "OhLq_P1 => value(System.Int32[]).Contains(OhLq_P1.UserId)");

            var exprTree3 = DataFilterMetaInfoParser.Parse <MyOrder>(filter, "_myParam");

            Assert.Equal(exprTree3.NodeType, ExpressionType.Lambda);
            Assert.Equal(exprTree3.ToString(), "_myParam => value(System.Int32[]).Contains(_myParam.UserId)");
        }
コード例 #2
0
        public void Verify_BasicOperationShouldBeWork()
        {
            var myfilter     = new MyOrderFilter();
            var myfilterInfo = DataFilterMetaInfoHelper.GetFilterMeatInfo(myfilter);

            Assert.Equal(0, myfilterInfo.FilterFields.Count);

            myfilter.Id = new CompareField <int>
            {
                Value       = 1000,
                CompareMode = CompareMode.GreaterThanOrEqual
            };
            myfilterInfo = DataFilterMetaInfoHelper.GetFilterMeatInfo(myfilter);
            Assert.Equal(1, myfilterInfo.FilterFields.Count);


            myfilter.State = new ContainsField <OrderState>
            {
                CompareMode = CompareMode.Contains,
                Values      = new OrderState[] { OrderState.Completed }
            };
            myfilterInfo = DataFilterMetaInfoHelper.GetFilterMeatInfo(myfilter);
            Assert.Equal(2, myfilterInfo.FilterFields.Count);
        }