public void Stop_ShouldBe_Origin_Stop()
        {
            // Arrange
            var expected = Result.Ok();

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

            // Assert
            result.Should().BeSameAs(expected);
        }
        public void Stop_ShouldCall_Origin_Stop_RetryCountPlusOneTime_WhenReturnsFailure()
        {
            // Arrange
            var expected = Result.Fail();

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

            // Assert
            result.Should().BeSameAs(expected);
            _origin.Received(4).Stop();
        }