public RacingCardManagerShould()
        {
            _returnList = new List <IRacingCard> {
                _firstCard.Object, _secondCard.Object, _thirdCard.Object
            };
            _mockRacingCardsFactory.Setup(x => x.Create()).Returns(_returnList);

            _mockGenericMixStrategy.Setup(x => x.Mix <IRacingCard>(_returnList))
            .Returns(new ReadOnlyCollection <IRacingCard>(_returnList));

            _sut = new RacingCardManager(_mockRacingCardsFactory.Object,
                                         _mockGenericMixStrategy.Object,
                                         _mockMixDiscartCards.Object);
        }
        private void Return_Count_Of_Racing_Cards(int countOfCards)
        {
            var listOfRacingCards = EnumerableGenerator.Generate(countOfCards, x => new Mock <IRacingCard>().Object);

            _mockRacingCardsFactory.Setup(x => x.Create()).Returns(listOfRacingCards);
            _mockGenericMixStrategy.Setup(x => x.Mix <IRacingCard>(It.IsAny <List <IRacingCard> >()))
            .Returns(new ReadOnlyCollection <IRacingCard>(listOfRacingCards));

            _mockMixDiscartCards.Setup(x => x.MixAll())
            .Returns(new ReadOnlyCollection <IRacingCard>(listOfRacingCards));

            _sut = new RacingCardManager(_mockRacingCardsFactory.Object,
                                         _mockGenericMixStrategy.Object,
                                         _mockMixDiscartCards.Object);

            _sut.CountOfCards.Should().Be(countOfCards);
        }