public void CanDeletePersonId() { // Arrange // need extra Moq functionality so can't use the normal mock repo Person person = new Person{Id=2, FamilyId=1, ParentId=0, ParentId2=0, FirstName="Jane", LastName="Doe"}; Mock < IPersonRepository > mock = new Mock<IPersonRepository>(); mock.Setup(m => m.People).Returns(new List<Person> { new Person{Id=1, FamilyId=1, ParentId=0, ParentId2=0, FirstName="John", LastName="Doe"}, person, new Person{Id=3, FamilyId=1, ParentId=1, ParentId2=2, FirstName="Jennifer", LastName="Deer"} }); AdminController target = new AdminController(mock.Object, GetFamilyRepository()); // Act target.DeletePerson(person.Id); // Assertion // assert that the delete functionality was called with the correct ID mock.Verify(m => m.DeletePerson(person.Id)); }