コード例 #1
0
        protected (Player actual, TOptions options) MakePurchase(Player originalPlayer)
        {
            // arrange
            var player     = PlayerFixture.ClonePlayer(originalPlayer);
            var options    = new TOptions();
            var mockRandom = Substitute.For <IRandom>();

            mockRandom.GetInRange(1, options.MaxValue).Returns(options.MaxValue);

            var sut = CreateSut(
                player: player,
                random: mockRandom,
                options: options);

            // act
            var result = sut.Handle(new TCommand());

            // assert result
            result.Should().BeOfType <OkResult>(result.Message);
            // assert player state change
            return(player, options);
        }