public void GetUsersShouldNotCallUnderlyingApiIfNotUsed() { var mockService = new MockUserService(); var api = new AthApi(mockService); api.GetUsers(); Assert.Empty(mockService.GetUserPostsCalls); Assert.Equal(0, mockService.GetUsersCallCount); }
public void ShouldLazyLoadOnlyAccesedPosts() { var mockService = new MockUserService(); var api = new AthApi(mockService); foreach (var item in api.GetUsers().First(x => x.Id == 1).Posts) { } Assert.Equal(1, mockService.GetUserPostsCalls[0]); Assert.Equal(1, mockService.GetUsersCallCount); }
public void ShouldNotCallGetUsersPostIfPostsAreNotAccessed() { var mockService = new MockUserService(); var api = new AthApi(mockService); foreach (var item in api.GetUsers()) { } Assert.Empty(mockService.GetUserPostsCalls); Assert.Equal(1, mockService.GetUsersCallCount); }