示例#1
0
        public void Invoke_Void_NoValidMock_Strict()
        {
            // arrange
            var arg = new object();
            var method = new MethodMockBuilder(null, new[]
            {
                Dx.Args<object>(a =>
                {
                    Assert.AreEqual(a, arg);
                    return false;
                })
            });

            var values = new MockBuilder();
            ((dynamic)values).abc = new MethodGroup(method);

            var subject = new ObjectBase(DxSettings.GlobalSettings, values, true);

            // act
            // assert
            Assert.Throws(typeof(InvalidMockException), () =>
                subject.Invoke("abc", new[] { new MethodArg<object>(arg, string.Empty) }));
        }
示例#2
0
        public void Invoke_Void_NoValidMock_NonStrict()
        {
            // arrange
            var ok = false;
            var arg = new object();
            var method = new MethodMockBuilder(null, new[]
            {
                Dx.Args<object>(a =>
                {
                    ok = true;
                    Assert.AreEqual(a, arg);
                    return false;
                })
            });

            var values = new MockBuilder();
            ((dynamic)values).abc = new MethodGroup(method);

            var subject = new ObjectBase(DxSettings.GlobalSettings, values);

            // act
            // assert
            subject.Invoke("abc", new[] { new MethodArg<object>(arg, string.Empty) });
            Assert.IsTrue(ok);
        }
示例#3
0
        public void Invoke_Void_NoMock_Strict()
        {
            // arrange
            var arg = new object();
            var values = new MockBuilder();
            ((dynamic)values).abc = new MethodGroup();

            var subject = new ObjectBase(DxSettings.GlobalSettings, values, true);

            // act
            // assert
            Assert.Throws(typeof(InvalidMockException), () =>
                subject.Invoke("abc", new[] { new MethodArg<object>(arg, string.Empty) }));
        }
示例#4
0
        public void Invoke_Void_NoMock_NonStrict()
        {
            // arrange
            var arg = new object();
            var values = new MockBuilder();
            ((dynamic)values).abc = new MethodGroup();

            var subject = new ObjectBase(DxSettings.GlobalSettings, values);

            // act
            // assert
            subject.Invoke("abc", new[] { new MethodArg<object>(arg, string.Empty) });
        }
示例#5
0
        public void Invoke_NonVoid_VoidMethod_RefType()
        {
            // arrange
            var ok = false;
            var arg = new object();
            var method = new MethodMockBuilder(null, new[]
            {
                Dx.Args<object>(a =>
                {
                    ok = true;
                    return true;
                })
            });

            var values = new MockBuilder();
            ((dynamic)values).abc = new MethodGroup(method);

            var subject = new ObjectBase(DxSettings.GlobalSettings, values);

            // act
            // assert
            var output = subject.Invoke<int>("abc", new[] { new MethodArg<object>(arg, string.Empty) });
            Assert.AreEqual(output, 0);
            Assert.IsTrue(ok);
        }
示例#6
0
        public void Invoke_NonVoid_Null()
        {
            // arrange
            var ok = false;
            var arg = new object();
            object returnVal = null;
            var method = new MethodMockBuilder(null, new[]
            {
                Dx.Args<object>(a =>
                {
                    ok = true;
                    return a == arg;
                })
            });
            (method as dynamic).DxReturns(returnVal);

            var values = new MockBuilder();
            ((dynamic)values).abc = new MethodGroup(method);

            var subject = new ObjectBase(DxSettings.GlobalSettings, values);

            // act
            // assert
            var output = subject.Invoke<object>("abc", new[] { new MethodArg<object>(arg, string.Empty) });
            Assert.AreEqual(returnVal, output);
            Assert.IsTrue(ok);
        }