public async Task ExistsWithId_Test(int id, bool expectedResult) { // arrange var fakeUowProvider = A.Fake <IUnitOfWorkProvider>(); var fakeUow = A.Fake <IUnitOfWork>(); A.CallTo(() => fakeUowProvider.Get()).Returns(fakeUow); var fakeRepoProvider = A.Fake <IWishlistRepositoryProvider>(); var fakeRepo = A.Fake <IWishlistRepository>(); A.CallTo(() => fakeRepoProvider.Get(fakeUow)).Returns(fakeRepo); WishlistService service = new WishlistService(fakeUowProvider, fakeRepoProvider); List <WishlistItem> items = new List <WishlistItem> { new WishlistItem { Id = 1, Title = "test_item1", Type = ItemType.Book }, new WishlistItem { Id = 2, Title = "test_item2", Type = ItemType.Dvd } }; A.CallTo(() => fakeRepo.ReadAll()).Returns(items); // act var actualResult = await service.ExistsWithId(id); // assert Assert.AreEqual(expectedResult, actualResult); }