public async Task SelectProduct_CompletedTransaction_ExpectPrintGratitude()
        {
            var product = new Product
            {
                Name = "Item",
                Cost = 5
            };

            _mockPurchaseHandler.Stub(pH => pH.SelectProductAsync(Arg <Product> .Matches(p => p.Name.Equals(product.Name, StringComparison.OrdinalIgnoreCase))))
            .ReturnAsync(new PurchaseResult
            {
                Accepted  = true,
                AmountDue = 3
            });

            await _sut.SelectProductAsync(product);

            _mockVendingMachineDisplay.AssertWasCalled(d => d.PrintGratitude(), options => options.Repeat.Once());
        }