public async Task GetByNameAsync_When_ProductNotFound_Then_ExceptionIsThrown()
        {
            // Arrange
            dataProvider.Setup(x => x.ProvideAsync())
            .ReturnsAsync(Enumerable.Empty <Cart>());

            var repository = new InMemoryCartRepository(dataProvider.Object);

            // Act
            await repository.GetAsync(x => x.Name == string.Empty);

            // Assert exception
        }
        public async Task GetByNameAsync_When_ProductNotFound_Then_ProductIsReturned()
        {
            // Arrange
            var cart = fixture.Generate <Cart>();

            dataProvider.Setup(x => x.ProvideAsync())
            .ReturnsAsync(new List <Cart>()
            {
                cart
            });

            var repository = new InMemoryCartRepository(dataProvider.Object);

            // Act
            var result = await repository.GetAsync(x => x.Name == cart.Name);

            // Assert
            result.Should().NotBeNull();
            result.Should().Be(cart);
        }