public void IsRunning_ShouldBe_Origin_IsRunning(bool value)
        {
            // Arrange
            _origin.IsRunning().Returns(value);
            var subject = new ReliableService(_retryPolicy, _origin);
            // Act
            var result = subject.IsRunning();

            // Assert
            result.Should().Be(value);
        }
        public void Start_ShouldBe_Origin_Start()
        {
            // Arrange
            var expected = Result.Ok();

            _origin.Start().Returns(expected);
            var subject = new ReliableService(_retryPolicy, _origin);
            // Act
            var result = subject.Start();

            // Assert
            result.Should().BeSameAs(expected);
        }
        public void Name_ShouldBe_Origin_Name()
        {
            // Arrange
            const string name = "My service";

            _origin.Name.Returns(name);
            var subject = new ReliableService(_retryPolicy, _origin);
            // Act
            var result = subject.Name;

            // Assert
            result.Should().Be(name);
        }
        public void Start_ShouldCall_Origin_Start_RetryCountPlusOneTime_WhenReturnsFailure()
        {
            // Arrange
            var expected = Result.Fail();

            _origin.Start().Returns(expected);
            var subject = new ReliableService(_retryPolicy, _origin);
            // Act
            var result = subject.Start();

            // Assert
            result.Should().BeSameAs(expected);
            _origin.Received(4).Start();
        }
Beispiel #5
0
        public async Task StopAsync_ShouldBe_Origin_StopAsync()
        {
            // Arrange
            var expected          = Result.Ok();
            var cancellationToken = new CancellationToken();

            _origin.StopAsync(cancellationToken).Returns(expected);
            var subject = new ReliableService(_retryPolicy, _origin);

            // Act
            var result = await subject.StopAsync(cancellationToken);

            // Assert
            result.Should().BeSameAs(expected);
        }
Beispiel #6
0
        public async Task StartAsync_ShouldBe_Origin_StartAsync()
        {
            // Arrange
            var expected          = Result.Ok();
            var cancellationToken = new CancellationToken();

            _origin.StartAsync(cancellationToken).Returns(expected);
            _retryPolicy
            .ExecuteAsync(Arg.Any <Func <CancellationToken, Task <Result> > >(), Arg.Any <CancellationToken>())
            .Returns(args => args.Arg <Func <CancellationToken, Task <Result> > >()(cancellationToken));
            var subject = new ReliableService(_retryPolicy, _origin);

            // Act
            var result = await subject.StartAsync(cancellationToken);

            // Assert
            result.Should().BeSameAs(expected);
        }