public void DeleteCustomerByIdShouldCauseCustomerToBeNotContainedByDbSet() { // Arrange var mockCustomer = Builder <DeliveryPerson> .CreateNew().Build(); var initialList = new DeliveryPerson[] { mockCustomer }; var mockDbSet = new MockDbSet <DeliveryPerson>(initialList); var mockContext = new Mock <IContext>(); mockContext.SetupProperty <IDbSet <DeliveryPerson> >(_ => _.DeliveryPersons) .SetupGet(_ => _.DeliveryPersons) .Returns(mockDbSet); mockContext.Setup(_ => _.Save()) .Callback(mockDbSet.Save); Context = mockContext.Object; Repository = new DeliveryPersonRepository(Context); // Act Repository.DeleteDeliveryPersonById(mockCustomer.Id); // Assert var contains = mockDbSet.Contains(mockCustomer); Assert.IsFalse(contains); }