コード例 #1
0
        public void BuildParameterizedString(WeaverStepHasOp?pOper, object pValue, string pExpect)
        {
            var val = (pValue is string? "_P0" : pValue + "");

            if (pValue == null)
            {
                val = "null";
            }

            vMockQuery.Setup(x => x.AddParam(It.IsAny <WeaverQueryVal>())).Returns(val);
            var modes = new[] { WeaverStepHasMode.Has, WeaverStepHasMode.HasNot };
            var funcs = new[] { "has", "hasNot" };

            for (int i = 0; i < modes.Length; ++i)
            {
                vFuncHas      = new WeaverStepHas <Person>(n => n.PersonId, modes[i], pOper, pValue);
                vFuncHas.Path = vMockPath.Object;

                if (pOper == null)
                {
                    Assert.AreEqual(funcs[i] + "('" + TestSchema.Person_PersonId + "')",
                                    vFuncHas.BuildParameterizedString(), "Incorrect result.");
                }
                else
                {
                    Assert.AreEqual(funcs[i] + "('" + TestSchema.Person_PersonId + "',Tokens.T." + pExpect + ")",
                                    vFuncHas.BuildParameterizedString(), "Incorrect result.");
                }
            }
        }
コード例 #2
0
ファイル: WeaverPathPipe.cs プロジェクト: inthefabric/Weaver
        /*--------------------------------------------------------------------------------------------*/
        public static T Has <T>(this T pElem, Expression <Func <T, object> > pProperty)
            where T : IWeaverElement
        {
            var r = new WeaverStepHas <T>(pProperty, WeaverStepHasMode.Has);

            pElem.Path.AddItem(r);
            return(pElem);
        }
コード例 #3
0
ファイル: WeaverPathPipe.cs プロジェクト: inthefabric/Weaver
        /*--------------------------------------------------------------------------------------------*/
        public static T Has <T>(this T pElem, Expression <Func <T, object> > pProperty,
                                WeaverStepHasOp pOperation, object pValue) where T : IWeaverElement
        {
            var f = new WeaverStepHas <T>(pProperty, WeaverStepHasMode.Has, pOperation, pValue);

            pElem.Path.AddItem(f);
            return(pElem);
        }
コード例 #4
0
        public void New(WeaverStepHasMode pMode, WeaverStepHasOp pOp)
        {
            const string val = "test";
            var          f   = new WeaverStepHas <Person>(n => n.PersonId, pMode, pOp, val);

            Assert.AreEqual(pMode, f.Mode, "Incorrect Mode.");
            Assert.AreEqual(pOp, f.Operation, "Incorrect Operation.");
            Assert.AreEqual(val, f.Value, "Incorrect Value.");
        }
コード例 #5
0
        public void PropertyNameInvalid()
        {
            vFuncHas = new WeaverStepHas <Person>(n => (n.PersonId == 99), WeaverStepHasMode.Has,
                                                  WeaverStepHasOp.EqualTo, 1);
            vFuncHas.Path = vMockPath.Object;

            WeaverTestUtil.CheckThrows <WeaverStepException>(true, () => {
                var p = vFuncHas.PropertyName;
            });
        }
コード例 #6
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        protected override void SetUp()
        {
            base.SetUp();
            vMockQuery = new Mock <IWeaverQuery>();

            vMockPath = new Mock <IWeaverPath>();
            vMockPath.SetupGet(x => x.Query).Returns(vMockQuery.Object);
            vMockPath.SetupGet(x => x.Config).Returns(WeavInst.Config);

            vFuncHas = new WeaverStepHas <Person>(n => n.PersonId, WeaverStepHasMode.Has,
                                                  WeaverStepHasOp.EqualTo, 1);
            vFuncHas.Path = vMockPath.Object;
        }