public async void ExistsAsync_ReturnsCorrectBool(int id, bool expected) { //Arrange var options = InMemoryUtils.ProduceFreshDbContextOptions(); using (var context = new ApplicationDbContext(options)) { context.Resources.AddRange(ResourceUtils.TestSet); context.SaveChanges(); } var model = ResourceUtils.TestSet.Any(r => r.Id == id) ? ResourceUtils.TestSet.Single(r => r.Id == id) : new Resource() { Id = 999 }; //Act using (var context = new ApplicationDbContext(options)) { ITrackEntityRepository <Resource, int, ApplicationUser, string> repo = new ResourcesRepository(context); var resultKeyed = await repo.ExistsAsync(id); var resultModeled = await repo.ExistsAsync(model); //Assert Assert.IsAssignableFrom <bool>(resultKeyed); Assert.Equal(expected, resultKeyed); Assert.IsAssignableFrom <bool>(resultModeled); Assert.Equal(expected, resultModeled); } }