public void Shuffle_CallsHelperAndRepository()
        {
            var cards          = new List <Card>();
            var helperMock     = new Mock <ICardsHelper>();
            var repositoryMock = new Mock <IDeckRepository>();

            repositoryMock.Setup(x => x.GetDeck(It.IsAny <string>()))
            .Returns(new Deck {
                Piles = new List <Pile> {
                    new Pile {
                        Hash  = "First",
                        Cards = cards
                    }
                }
            });

            var hashidsMock = new Mock <IHashids>();

            var interractor = new PileCardsInterractor(repositoryMock.Object, helperMock.Object, hashidsMock.Object);

            interractor.Shuffle(It.IsAny <string>(), "First");

            repositoryMock.Verify(x => x.GetDeck(It.IsAny <string>()));
            helperMock.Verify(x => x.Shuffle(ref cards));
            repositoryMock.Verify(x => x.Update(It.IsAny <Deck>()));
        }