public void CustomType_Default()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            Assert.Null(sut.Call_ACustomFunction());
        }
        public void BaseType_Default()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            Assert.Equal <int>(0, sut.Call_ABaseFunction());
        }
        public void CustomType()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            moq.Setup(x => x.ACustomFunction()).Returns(new ACustomType(42));
            Assert.Equal <int>(42, sut.Call_ACustomFunction().Value);
        }
        public void CustomType_Null()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            moq.Setup(x => x.ACustomFunction()).Returns <ACustomType>(null);

            Assert.Null(sut.Call_ACustomFunction());
        }
        public void BaseType_SetDefault()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            moq.SetReturnsDefault <int>(42);

            Assert.Equal <int>(42, sut.Call_ABaseFunction());
        }
示例#6
0
        public void PostProcess()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            moq.Setup(x => x.AFunction(It.IsAny <int>())).Returns((int x) => x + 1);

            Assert.Equal <int>(43, sut.Call_AFunction(42));
        }
        public void UseLocalReference()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            int theReturn = 52;

            moq.Setup(x => x.ABaseFunction()).Returns(() => theReturn);
            Assert.Equal <int>(52, sut.Call_ABaseFunction());
        }
        public void WorksTwice()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            moq.Setup(x => x.ABaseFunction()).Returns(42);

            Assert.Equal <int>(42, sut.Call_ABaseFunction());
            Assert.Equal <int>(42, sut.Call_ABaseFunction());
        }
        public void BaseType_DefaultLoose()
        {
            // Loose behaviour (default), does not throw exceptions if
            // setup of any mock function called by sut is not specified
            // --> Default values are accepted/tolerated
            var moq = new Mock <AnInterface>(MockBehavior.Loose);
            var sut = new AFunctionClass(moq.Object);

            Assert.Equal <int>(0, sut.Call_ABaseFunction());
        }
示例#10
0
        public void Default()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            moq.Setup(x => x.AFunction(42)).Returns(52);

            Assert.Equal <int>(52, sut.Call_AFunction(42));
            Assert.Equal <int>(0, sut.Call_AFunction(43));
        }
示例#11
0
        public void Out_CustomType()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            var outValue = new ACustomType(42);

            moq.Setup(x => x.AFunctionCustomOut(out outValue));

            Assert.Equal <int>(42, sut.Call_AFunctionCustomOut());
        }
示例#12
0
        public void Out_BaseType()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            int outValue = 42;

            moq.Setup(x => x.AFunctionBaseOut(out outValue));

            Assert.Equal <int>(42, sut.Call_AFunctionBaseOut());
        }
示例#13
0
        public void InRange()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            moq.Setup(x => x.AFunction(It.IsInRange(10, 20, Range.Inclusive))).Returns(42);

            Assert.Equal <int>(42, sut.Call_AFunction(10));
            Assert.Equal <int>(42, sut.Call_AFunction(11));
            Assert.Equal <int>(0, sut.Call_AFunction(21));
        }
        public void BaseType()
        {
            // Strict behaviour --> Throws errors if sut uses any
            // function/property in the mock without a
            // corresponding setup --> Defaults not accepted!
            var moq = new Mock <AnInterface>(MockBehavior.Strict);
            var sut = new AFunctionClass(moq.Object);

            moq.Setup(x => x.ABaseFunction()).Returns(42);
            Assert.Equal <int>(42, sut.Call_ABaseFunction());
        }
示例#15
0
        public void Any()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            moq.Setup(x => x.AFunction(It.IsAny <int>())).Returns(42);

            Assert.Equal <int>(42, sut.Call_AFunction(0));
            Assert.Equal <int>(42, sut.Call_AFunction(42));
            Assert.Equal <int>(42, sut.Call_AFunction(52));
        }
示例#16
0
        public void Ref_BaseType()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            Assert.Equal <int>(10, sut.Call_AFunctionBaseRef());

            moq.Setup(x => x.AFunctionBaseRef(ref It.Ref <int> .IsAny))
            .Callback(new BaseRefCallback((ref int param) => param = 42));

            Assert.Equal <int>(42, sut.Call_AFunctionBaseRef());
        }
示例#17
0
        public void Ref_CustomType()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            Assert.Equal <int>(10, sut.Call_AFunctionCustomRef());

            moq.Setup(x => x.AFunctionCustomRef(ref It.Ref <ACustomType> .IsAny))
            .Callback(new CustomRefCallback((ref ACustomType param) => param = new ACustomType(42)));

            Assert.Equal <int>(42, sut.Call_AFunctionCustomRef());
        }
示例#18
0
        public void In()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            var values = new int[] { 10, 11, 12 };

            moq.Setup(x => x.AFunction(It.IsIn <int>(values))).Returns(42);

            Assert.Equal <int>(42, sut.Call_AFunction(10));
            Assert.Equal <int>(42, sut.Call_AFunction(11));
            Assert.Equal <int>(0, sut.Call_AFunction(21));
        }
示例#19
0
        public void Parameter()
        {
            var moq = new Mock <AnInterface>();
            var sut = new AFunctionClass(moq.Object);

            moq.Setup(x => x.AFunction(42)).Returns(52);
            moq.Setup(x => x.AFunction(43)).Returns(53);
            moq.Setup(x => x.AFunction(44)).Returns(54);

            Assert.Equal <int>(52, sut.Call_AFunction(42));
            Assert.Equal <int>(53, sut.Call_AFunction(43));
            Assert.Equal <int>(54, sut.Call_AFunction(44));
        }