test_class.declarator: apiService
test_class.modifier: @Mock
test_class.original_string: @Mock ApiService apiService;
test_class.type: ApiService
test_class.var_name: apiService
test_class.declarator: wordsApiDataProvider
test_class.original_string: WordsApiDataProvider wordsApiDataProvider;
test_class.type: WordsApiDataProvider
test_class.var_name: wordsApiDataProvider
test_class.file: rhymecity/src/test/java/me/mattlogan/rhymecity/data/WordsApiDataProviderTest.java
test_class.identifier: WordsApiDataProviderTest
test_case.body: @Test
      public void testRhymesWithSuccess() {
          Response<RhymesResponse> response = Response.success(new RhymesResponse(new Rhymes(
                  Arrays.asList("hi", "bye", "sigh"))));
  
          String word = "high";
  
          when(apiService.rhymes(word)).thenReturn(Observable.just(response));
  
          Pair<String, Response<RhymesResponse>> pair =
                  wordsApiDataProvider.rhymes(word).toBlocking().single();
  
          assertNotNull(pair);
          assertEquals(word, pair.first);
          assertEquals(3, pair.second.body().rhymesObject().list().size());
      }
test_case.class_method_signature: WordsApiDataProviderTest.testRhymesWithSuccess()
test_case.full_signature: @Test public void testRhymesWithSuccess()
test_case.identifier: testRhymesWithSuccess
test_case.invocations: success asList thenReturn when rhymes just single toBlocking rhymes assertNotNull assertEquals assertEquals size list rhymesObject body
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testRhymesWithSuccess()
focal_class.declarator: apiService
focal_class.modifier: private final
focal_class.original_string: private final ApiService apiService;
focal_class.type: ApiService
focal_class.var_name: apiService
focal_class.file: rhymecity/src/main/java/me/mattlogan/rhymecity/data/WordsApiDataProvider.java
focal_class.identifier: WordsApiDataProvider
focal_class.interfaces: implements DataProvider
focal_class.class_method_signature: WordsApiDataProvider.WordsApiDataProvider(ApiService apiService)
focal_class.full_signature: public  WordsApiDataProvider(ApiService apiService)
focal_class.identifier: WordsApiDataProvider
focal_class.modifiers: public
focal_class.parameters: (ApiService apiService)
focal_class.signature:  WordsApiDataProvider(ApiService apiService)
focal_class.class_method_signature: WordsApiDataProvider.rhymes(final String word)
focal_class.full_signature: @Override public Observable<Pair<String, Response<RhymesResponse>>> rhymes(final String word)
focal_class.identifier: rhymes
focal_class.modifiers: @Override public
focal_class.parameters: (final String word)
focal_class.return: Observable<Pair<String, Response<RhymesResponse>>>
focal_class.signature: Observable<Pair<String, Response<RhymesResponse>>> rhymes(final String word)
focal_method.body: @Override
      public Observable<Pair<String, Response<RhymesResponse>>> rhymes(final String word) {
          return apiService.rhymes(word)
                  .map(new Func1<Response<RhymesResponse>, Pair<String, Response<RhymesResponse>>>() {
                      @Override
                      public Pair<String, Response<RhymesResponse>> call(Response<RhymesResponse> rhymesResponse) {
                          return new Pair<>(word, rhymesResponse);
                      }
                  });
      }
focal_method.class_method_signature: WordsApiDataProvider.rhymes(final String word)
focal_method.full_signature: @Override public Observable<Pair<String, Response<RhymesResponse>>> rhymes(final String word)
focal_method.identifier: rhymes
focal_method.invocations: map rhymes
focal_method.modifiers: @Override public
focal_method.parameters: (final String word)
focal_method.return: Observable<Pair<String, Response<RhymesResponse>>>
focal_method.signature: Observable<Pair<String, Response<RhymesResponse>>> rhymes(final String word)