Пример #1
0
        public void TestWherePolicyIsSync()
        {
            // Arrange
            Mock <IDummyService1> service1Mock = new Mock <IDummyService1>();
            Mock <IDummyService2> service2Mock = new Mock <IDummyService2>();

            PolicyScopeMock policyScopeMock = PolicyScopeMock
                                              .SyncPolicy("Primary")
                                              .WithService(service1Mock.Object)
                                              .WithResultType <int>()
                                              .SyncPolicy("Secondary")
                                              .WithServices(service1Mock.Object, service2Mock.Object)
                                              .WithNoResult()
                                              .Build();

            MultipleUsage logic = new MultipleUsage(policyScopeMock.Object);

            // Act
            logic.Run();

            // Assert
            policyScopeMock
            .WherePolicyIsSync()
            .VerifyRun(3);
            policyScopeMock
            .WherePolicyIsAsync()
            .VerifyRunNever();
        }
Пример #2
0
        public void TestRunWithResult3Service()
        {
            // Arrange
            Mock <IDummyService1> dummyServiceMock1 = new Mock <IDummyService1>();

            dummyServiceMock1
            .Setup(d => d.Calculate())
            .Returns(1 << 0);

            Mock <IDummyService2> dummyServiceMock2 = new Mock <IDummyService2>();

            dummyServiceMock2
            .Setup(d => d.Calculate())
            .Returns(1 << 1);

            Mock <IDummyService3> dummyServiceMock3 = new Mock <IDummyService3>();

            dummyServiceMock3
            .Setup(d => d.Calculate())
            .Returns(1 << 2);

            var policyScopeMock = PolicyScopeMock
                                  .SyncPolicy(PolicyNames.SyncPolicyName)
                                  .WithNoService()
                                  .WithResultType <int>()
                                  .Build();

            Logic logic = new Logic(policyScopeMock.Object);

            // Act and assert
            Assert.Throws <PolicyScopeMockException>(() =>
            {
                int result = logic.RunWithResult3Service();
            });
        }
Пример #3
0
        public void TestRunWithResult2Service()
        {
            // Arrange
            Mock <IDummyService1> dummyServiceMock1 = new Mock <IDummyService1>();

            dummyServiceMock1
            .Setup(d => d.Calculate())
            .Returns(1 << 0);

            Mock <IDummyService2> dummyServiceMock2 = new Mock <IDummyService2>();

            dummyServiceMock2
            .Setup(d => d.Calculate())
            .Returns(1 << 1);

            var policyScopeMock = PolicyScopeMock
                                  .SyncPolicy(PolicyNames.SyncPolicyName)
                                  .WithServices(dummyServiceMock1.Object, dummyServiceMock2.Object)
                                  .WithResultType <int>()
                                  .Build();

            Logic logic = new Logic(policyScopeMock.Object);

            // Act
            int result = logic.RunWithResult2Service();

            // Assert
            Assert.Equal((1 << 2) - 1, result);
            Assert.Equal((1 << 2) - 1, logic.LatestResult);
            policyScopeMock.VerifyRunOnce();
        }
Пример #4
0
        public async Task TestNoAsyncPolicyFound()
        {
            // Arrange
            var policyScopeMock = PolicyScopeMock
                            .SyncPolicy(PolicyNames.SyncPolicyName)
                            .WithNoService()
                            .WithNoResult()
                            .Build();

            Logic logic = new Logic(policyScopeMock.Object);

            // Act and assert
            await Assert.ThrowsAsync<PolicyScopeMockException>(async () =>
            {
                await logic.RunWithNoResultNoServiceAsync();
            });
        }
Пример #5
0
        public void TestRunWithResultNoService()
        {
            // Arrange
            var policyScopeMock = PolicyScopeMock
                                  .SyncPolicy(PolicyNames.SyncPolicyName)
                                  .WithNoService()
                                  .WithNoResult()
                                  .Build();

            Logic logic = new Logic(policyScopeMock.Object);

            // Act and assert
            Assert.Throws <PolicyScopeMockException>(() =>
            {
                int result = logic.RunWithResultNoService();
            });
        }
Пример #6
0
        public void TestRunWithNoResultNoService()
        {
            // Arrange
            var policyScopeMock = PolicyScopeMock
                                  .SyncPolicy(PolicyNames.SyncPolicyName)
                                  .WithNoService()
                                  .WithNoResult()
                                  .Build();

            Logic logic = new Logic(policyScopeMock.Object);

            // Act
            logic.RunWithNoResultNoService();

            // Assert
            Assert.Equal((1 << 0) - 1, logic.LatestResult);
            policyScopeMock.VerifyRunOnce();
        }
Пример #7
0
        public void TestRunWithNoResult4Service()
        {
            // Arrange
            Mock <IDummyService1> dummyServiceMock1 = new Mock <IDummyService1>();

            dummyServiceMock1
            .Setup(d => d.Calculate())
            .Returns(1 << 0);

            Mock <IDummyService2> dummyServiceMock2 = new Mock <IDummyService2>();

            dummyServiceMock2
            .Setup(d => d.Calculate())
            .Returns(1 << 1);

            Mock <IDummyService3> dummyServiceMock3 = new Mock <IDummyService3>();

            dummyServiceMock3
            .Setup(d => d.Calculate())
            .Returns(1 << 2);

            Mock <IDummyService4> dummyServiceMock4 = new Mock <IDummyService4>();

            dummyServiceMock4
            .Setup(d => d.Calculate())
            .Returns(1 << 3);

            var policyScopeMock = PolicyScopeMock
                                  .SyncPolicy(PolicyNames.SyncPolicyName)
                                  .WithServices(dummyServiceMock1.Object, dummyServiceMock2.Object, dummyServiceMock3.Object, dummyServiceMock4.Object)
                                  .WithNoResult()
                                  .Build();

            Logic logic = new Logic(policyScopeMock.Object);

            // Act
            logic.RunWithNoResult4Service();

            // Assert
            Assert.Equal((1 << 4) - 1, logic.LatestResult);
            policyScopeMock.VerifyRunOnce();
        }
Пример #8
0
        public void TestRunWithNoResult1Service()
        {
            // Arrange
            Mock <IDummyService1> dummyServiceMock1 = new Mock <IDummyService1>();

            dummyServiceMock1
            .Setup(d => d.Calculate())
            .Returns(1 << 0);

            var policyScopeMock = PolicyScopeMock
                                  .SyncPolicy(PolicyNames.SyncPolicyName)
                                  .WithNoService()
                                  .WithNoResult()
                                  .Build();

            Logic logic = new Logic(policyScopeMock.Object);

            // Act and assert
            Assert.Throws <PolicyScopeMockException>(() =>
            {
                logic.RunWithNoResult1Service();
            });
        }