Exemplo n.º 1
0
        public void ArgumentOfReferenceType_IsSavedInProperty()
        {
            var payrollSystemMock = new Mock <IPayrollSystem>();

            TestPropertyToSaveStringIn = null;

            payrollSystemMock.Arrange()
            .SoThatWhenMethod(x => x.FinalisePaymentsForEmployee(WithAnyArgument.OfType <string>()))
            .IsCalled()
            .TheArgumentsPassedIn()
            .AreSavedTo(() => TestPropertyToSaveStringIn);

            payrollSystemMock.Object.FinalisePaymentsForEmployee("Foo");

            TestPropertyToSaveStringIn.ShouldBe("Foo");
        }
        public void TwoArgumentOfReferenceType_IsSavedInProperty()
        {
            var payrollSystemMock = new Mock <IPayrollSystem>();

            TestPropertyToSaveStringIn = null;

            payrollSystemMock.Arrange()
            .SoThatWhenMethod(x => x.GetSalaryForEmployeeForYear(WithAnyArgument.OfType <string>(), WithAnyArgument.OfType <int>()))
            .IsCalled()
            .TheArgumentsPassedIn()
            .AreSavedTo(() => TestPropertyToSaveStringIn,
                        () => TestPropertyToSaveIntIn);

            payrollSystemMock.Object.GetSalaryForEmployeeForYear("Foo", 3);

            TestPropertyToSaveStringIn.ShouldBe("Foo");
            TestPropertyToSaveIntIn.ShouldBe(3);
        }
        public void ArgumentOfReferenceType_IsSavedInProperty_AndReturnsValue()
        {
            var payrollSystemMock = new Mock <IPayrollSystem>();

            TestPropertyToSaveStringIn = null;

            payrollSystemMock.Arrange()
            .SoThatWhenMethod(x => x.GetSalaryForEmployee(WithAnyArgument.OfType <string>()))
            .IsCalled()
            .ItReturns(5)
            .AndTheArgumentsPassedIn()
            .AreSavedTo(() => TestPropertyToSaveStringIn);

            var returnValueFromMock = payrollSystemMock.Object.GetSalaryForEmployee("Foo");

            TestPropertyToSaveStringIn.ShouldBe("Foo");
            returnValueFromMock.ShouldBe(5);
        }