test_class.declarator: USER_ID = "userId"
test_class.modifier: private static final
test_class.original_string: private static final String USER_ID = "userId";
test_class.type: String
test_class.var_name: USER_ID
test_class.declarator: USER_NAME = "username"
test_class.modifier: private static final
test_class.original_string: private static final String USER_NAME = "username";
test_class.type: String
test_class.var_name: USER_NAME
test_class.declarator: PASSWORD = "password"
test_class.modifier: private static final
test_class.original_string: private static final String PASSWORD = "password";
test_class.type: String
test_class.var_name: PASSWORD
test_class.declarator: DISPLAY_NAME = "displayName"
test_class.modifier: private static final
test_class.original_string: private static final String DISPLAY_NAME = "displayName";
test_class.type: String
test_class.var_name: DISPLAY_NAME
test_class.declarator: mParseHelper
test_class.modifier: private
test_class.original_string: private ParseHelper mParseHelper;
test_class.type: ParseHelper
test_class.var_name: mParseHelper
test_class.declarator: mBroadcaster
test_class.modifier: private
test_class.original_string: private Broadcaster mBroadcaster;
test_class.type: Broadcaster
test_class.var_name: mBroadcaster
test_class.declarator: mTarget
test_class.modifier: private
test_class.original_string: private ParseSessionDataSource mTarget;
test_class.type: ParseSessionDataSource
test_class.var_name: mTarget
test_class.file: ExampleApp/src/test/java/com/badoo/chateau/example/data/repos/session/ParseSessionDataSourceTest.java
test_class.identifier: ParseSessionDataSourceTest
test_class.superclass: extends BaseRxTestCase
test_case.body: @Test
      public void signOut() {
          // Given
          when(mParseHelper.signOut()).thenReturn(Observable.empty());
  
          // When
          TestSubscriber<Void> testSubscriber = executeTarget(mTarget.signOut());
  
          // Then
          testSubscriber.assertCompleted();
          verify(mBroadcaster).userSignedOut();
      }
test_case.class_method_signature: ParseSessionDataSourceTest.signOut()
test_case.full_signature: @Test public void signOut()
test_case.identifier: signOut
test_case.invocations: thenReturn when signOut empty executeTarget signOut assertCompleted userSignedOut verify
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void signOut()
focal_class.declarator: mBroadcaster
focal_class.modifier: @NonNull
      private
focal_class.original_string: @NonNull
      private Broadcaster mBroadcaster;
focal_class.type: Broadcaster
focal_class.var_name: mBroadcaster
focal_class.declarator: mParseHelper
focal_class.modifier: private
focal_class.original_string: private ParseHelper mParseHelper;
focal_class.type: ParseHelper
focal_class.var_name: mParseHelper
focal_class.file: ExampleApp/src/main/java/com/badoo/chateau/example/data/repos/session/ParseSessionDataSource.java
focal_class.identifier: ParseSessionDataSource
focal_class.interfaces: implements SessionDataSource
focal_class.class_method_signature: ParseSessionDataSource.ParseSessionDataSource(@NonNull Broadcaster broadcaster, @NonNull ParseHelper parseHelper)
focal_class.full_signature: public  ParseSessionDataSource(@NonNull Broadcaster broadcaster, @NonNull ParseHelper parseHelper)
focal_class.identifier: ParseSessionDataSource
focal_class.modifiers: public
focal_class.parameters: (@NonNull Broadcaster broadcaster, @NonNull ParseHelper parseHelper)
focal_class.signature:  ParseSessionDataSource(@NonNull Broadcaster broadcaster, @NonNull ParseHelper parseHelper)
focal_class.class_method_signature: ParseSessionDataSource.signIn(@NonNull SessionQuery.SignIn query)
focal_class.full_signature: @NonNull @Override public Observable<BaseUser> signIn(@NonNull SessionQuery.SignIn query)
focal_class.identifier: signIn
focal_class.modifiers: @NonNull @Override public
focal_class.parameters: (@NonNull SessionQuery.SignIn query)
focal_class.return: Observable<BaseUser>
focal_class.signature: Observable<BaseUser> signIn(@NonNull SessionQuery.SignIn query)
focal_class.class_method_signature: ParseSessionDataSource.signOut()
focal_class.full_signature: @Override public Observable<Void> signOut()
focal_class.identifier: signOut
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Observable<Void>
focal_class.signature: Observable<Void> signOut()
focal_class.class_method_signature: ParseSessionDataSource.register(@NonNull SessionQuery.Register query)
focal_class.full_signature: @NonNull @Override public Observable<BaseUser> register(@NonNull SessionQuery.Register query)
focal_class.identifier: register
focal_class.modifiers: @NonNull @Override public
focal_class.parameters: (@NonNull SessionQuery.Register query)
focal_class.return: Observable<BaseUser>
focal_class.signature: Observable<BaseUser> register(@NonNull SessionQuery.Register query)
focal_method.body: @Override
      public Observable<Void> signOut() {
          return mParseHelper.signOut()
              .subscribeOn(Schedulers.io())
              .doOnCompleted(() -> mBroadcaster.userSignedOut());
      }
focal_method.class_method_signature: ParseSessionDataSource.signOut()
focal_method.full_signature: @Override public Observable<Void> signOut()
focal_method.identifier: signOut
focal_method.invocations: doOnCompleted subscribeOn signOut io userSignedOut
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: Observable<Void>
focal_method.signature: Observable<Void> signOut()