public void User_Cannot_Be_Removed_From_A_Group_Multiple_Times() { IUserRepository userRepo = Substitute.For<IUserRepository>(); IGroupRepository groupRepo = Substitute.For<IGroupRepository>(); userRepo.UserExists("fred").Returns(true); groupRepo.GroupExists("testgroup").Returns(true); groupRepo.UserIsAMember("fred", "testgroup").Returns(false); UserController controller = new UserController(userRepo, groupRepo); var result = controller.RemoveUserFromGroup("fred", "testgroup"); groupRepo.DidNotReceive().RemoveUserFromGroup("fred", "testgroup"); }