public void AddItem_GivenANewItem_AddsToDatabase()
        {
            // arrange
            OrderItem item = new OrderItem()
            {
                ID = 23
            };
            Mock <DbSet <OrderItem> > mockSet     = new Mock <DbSet <OrderItem> >();
            Mock <OrderDb>            mockContext = new Mock <OrderDb>();

            mockContext.Setup(c => c.OrderItems).Returns(mockSet.Object);
            OrderItemRepository sut = new OrderItemRepository(mockContext.Object);

            // act
            sut.AddItem(item);

            // assert
            mockSet.Verify(s => s.Add(It.Is <OrderItem>(oi => oi.ID == 23)), Times.Once());
            mockContext.Verify(c => c.SaveChanges(), Times.Once());
        }