public void CloseAccount_RemoveBankAccountTests(List <Account> collection, int id) { Mock <IAccountStorage> mockStorage = new Mock <IAccountStorage>(); Mock <IBonusCounter> mockCounter = new Mock <IBonusCounter>(); Mock <IIDGenerator> mockGenerator = new Mock <IIDGenerator>(); mockStorage.Setup(storage => storage.GetAllAccounts()).Returns(collection); BankAccountService service = new BankAccountService(mockStorage.Object, mockCounter.Object); service.CloseBankAccount(id); mockStorage.Verify(storage => storage.RemoveAccount( It.Is <Account>(account => account.UserName == collection.Find(x => x.Id == id).UserName&& account.UserSurname == collection.Find(x => x.Id == id).UserSurname&& account.Amount == collection.Find(x => x.Id == id).Amount&& account.Type == collection.Find(x => x.Id == id).Type)), Times.Once); }