### Question:
UserDataStoreFactory { public UserDataStore create(int userId) { UserDataStore userDataStore; if (!this.userCache.isExpired() && this.userCache.isCached(userId)) { userDataStore = new DiskUserDataStore(this.userCache); } else { userDataStore = createCloudDataStore(); } return userDataStore; } @Inject  UserDataStoreFactory(@NonNull Context context, @NonNull UserCache userCache); UserDataStore create(int userId); UserDataStore createCloudDataStore();  }### Answer:
@Test public void testCreateDiskDataStore() { given(mockUserCache.isCached(FAKE_USER_ID)).willReturn(true); given(mockUserCache.isExpired()).willReturn(false); UserDataStore userDataStore = userDataStoreFactory.create(FAKE_USER_ID); assertThat(userDataStore, is(notNullValue())); assertThat(userDataStore, is(instanceOf(DiskUserDataStore.class))); verify(mockUserCache).isCached(FAKE_USER_ID); verify(mockUserCache).isExpired(); }