public void CardResults_ShouldReturnCorrectly()
        {
            // Arrange
            var sucess   = _fixture.Create <bool>();
            var card     = _fixture.Create <CardResults>();
            var deckCard = _fixture.Create <CardResults>();

            // Act
            var Results = new GuessResults(
                sucess: sucess,
                oldCard: deckCard,
                newCard: card);

            // Assert
            Assert.AreEqual(Results.Sucess, sucess);
            Assert.AreEqual(Results.NewCard, card);
            Assert.AreEqual(Results.OldCard, deckCard);
        }
示例#2
0
        public async Task GuessNextCard_WithCorrectParameter_ShouldReturnOk()
        {
            //Arrange
            var card     = _fixture.Create <Card>();
            var deckCard = _fixture.Create <Card>();
            var success  = _fixture.Create <bool>();

            var expectedResult = new GuessResults(
                sucess: success,
                oldCard: new CardResults(
                    color: deckCard.Color,
                    suit: deckCard.Suit,
                    value: deckCard.Value,
                    displayName: deckCard.DisplayName),
                newCard: new CardResults(
                    color: card.Color,
                    suit: card.Suit,
                    value: card.Value,
                    displayName: card.DisplayName));

            _deckControlService
            .Setup(a => a.GuessNextCardAsync(It.IsAny <Guid>(), It.IsAny <GuessDirection>()))
            .Returns(Task.FromResult((success, deckCard, card)));

            // Act
            var result = await _controllerUnderTest.GuessNextCard(Guid.NewGuid(), GuessDirection.Higher)
                         as OkObjectResult;

            // Assert
            result
            .Should()
            .NotBeNull();

            result.StatusCode
            .Should()
            .Equals(HttpStatusCode.OK);

            result
            .Value
            .Should()
            .BeEquivalentTo(expectedResult);
        }