test_class.declarator: context
test_class.original_string: Context context;
test_class.type: Context
test_class.var_name: context
test_class.declarator: scoreButton
test_class.original_string: AccentColorIconButton scoreButton;
test_class.type: AccentColorIconButton
test_class.var_name: scoreButton
test_class.declarator: faveButton
test_class.original_string: AccentColorIconButton faveButton;
test_class.type: AccentColorIconButton
test_class.var_name: faveButton
test_class.declarator: upvoteButton
test_class.original_string: AccentColorIconButton upvoteButton;
test_class.type: AccentColorIconButton
test_class.var_name: upvoteButton
test_class.declarator: downvoteButton
test_class.original_string: AccentColorIconButton downvoteButton;
test_class.type: AccentColorIconButton
test_class.var_name: downvoteButton
test_class.declarator: presenter
test_class.original_string: ImageInteractionPresenter presenter;
test_class.type: ImageInteractionPresenter
test_class.var_name: presenter
test_class.declarator: requesterMock
test_class.original_string: MockImageInteractionRequester requesterMock;
test_class.type: MockImageInteractionRequester
test_class.var_name: requesterMock
test_class.declarator: interactions
test_class.original_string: EnumSet<DerpibooruImageInteraction.InteractionType> interactions;
test_class.type: EnumSet<DerpibooruImageInteraction.InteractionType>
test_class.var_name: interactions
test_class.file: app/src/test/java/derpibooru/derpy/ui/presenters/ImageInteractionPresenterTest.java
test_class.identifier: ImageInteractionPresenterTest
test_case.body: @Test
      public void testInteractions() {
          presenter.enableInteractions(context);
          testInteraction(DerpibooruImageInteraction.InteractionType.Fave, new Runnable() {
              @Override
              public void run() {
                  assertThat(faveButton.isActive(), is(true));
                  assertThat(upvoteButton.isActive(), is(true));
                  assertThat(downvoteButton.isActive(), is(false));
              }
          });
          faveButton.performClick();
          testInteraction(DerpibooruImageInteraction.InteractionType.ClearFave, new Runnable() {
              @Override
              public void run() {
                  assertThat(faveButton.isActive(), is(false));
                  assertThat(upvoteButton.isActive(), is(true));
                  assertThat(downvoteButton.isActive(), is(false));
              }
          });
          faveButton.performClick();
          testInteraction(DerpibooruImageInteraction.InteractionType.Downvote, new Runnable() {
              @Override
              public void run() {
                  assertThat(faveButton.isActive(), is(false));
                  assertThat(upvoteButton.isActive(), is(false));
                  assertThat(downvoteButton.isActive(), is(true));
              }
          });
          downvoteButton.performClick();
          testInteraction(DerpibooruImageInteraction.InteractionType.Upvote, new Runnable() {
              @Override
              public void run() {
                  assertThat(faveButton.isActive(), is(false));
                  assertThat(upvoteButton.isActive(), is(true));
                  assertThat(downvoteButton.isActive(), is(false));
              }
          });
          upvoteButton.performClick();
          testInteraction(DerpibooruImageInteraction.InteractionType.ClearVote, new Runnable() {
              @Override
              public void run() {
                  assertThat(faveButton.isActive(), is(false));
                  assertThat(upvoteButton.isActive(), is(false));
                  assertThat(downvoteButton.isActive(), is(false));
              }
          });
          upvoteButton.performClick();
      }
test_case.class_method_signature: ImageInteractionPresenterTest.testInteractions()
test_case.full_signature: @Test public void testInteractions()
test_case.identifier: testInteractions
test_case.invocations: enableInteractions testInteraction assertThat isActive is assertThat isActive is assertThat isActive is performClick testInteraction assertThat isActive is assertThat isActive is assertThat isActive is performClick testInteraction assertThat isActive is assertThat isActive is assertThat isActive is performClick testInteraction assertThat isActive is assertThat isActive is assertThat isActive is performClick testInteraction assertThat isActive is assertThat isActive is assertThat isActive is performClick
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testInteractions()
focal_class.declarator: mInteractionRequester
focal_class.modifier: private
focal_class.original_string: private ImageInteractionRequester mInteractionRequester;
focal_class.type: ImageInteractionRequester
focal_class.var_name: mInteractionRequester
focal_class.declarator: mId
focal_class.modifier: private
focal_class.original_string: private int mId;
focal_class.type: int
focal_class.var_name: mId
focal_class.declarator: mScoreButton
focal_class.modifier: private
focal_class.original_string: private AccentColorIconButton mScoreButton;
focal_class.type: AccentColorIconButton
focal_class.var_name: mScoreButton
focal_class.declarator: mFaveButton
focal_class.modifier: private
focal_class.original_string: private AccentColorIconButton mFaveButton;
focal_class.type: AccentColorIconButton
focal_class.var_name: mFaveButton
focal_class.declarator: mUpvoteButton
focal_class.modifier: private
focal_class.original_string: private AccentColorIconButton mUpvoteButton;
focal_class.type: AccentColorIconButton
focal_class.var_name: mUpvoteButton
focal_class.declarator: mDownvoteButton
focal_class.modifier: private
focal_class.original_string: private AccentColorIconButton mDownvoteButton;
focal_class.type: AccentColorIconButton
focal_class.var_name: mDownvoteButton
focal_class.file: app/src/main/java/derpibooru/derpy/ui/presenters/ImageInteractionPresenter.java
focal_class.identifier: ImageInteractionPresenter
focal_class.class_method_signature: ImageInteractionPresenter.ImageInteractionPresenter(int imageId,
                                          @Nullable AccentColorIconButton scoreButton,
                                          @Nullable AccentColorIconButton faveButton,
                                          @Nullable AccentColorIconButton upvoteButton,
                                          @Nullable AccentColorIconButton downvoteButton)
focal_class.full_signature: protected  ImageInteractionPresenter(int imageId,
                                          @Nullable AccentColorIconButton scoreButton,
                                          @Nullable AccentColorIconButton faveButton,
                                          @Nullable AccentColorIconButton upvoteButton,
                                          @Nullable AccentColorIconButton downvoteButton)
focal_class.identifier: ImageInteractionPresenter
focal_class.modifiers: protected
focal_class.parameters: (int imageId,
                                          @Nullable AccentColorIconButton scoreButton,
                                          @Nullable AccentColorIconButton faveButton,
                                          @Nullable AccentColorIconButton upvoteButton,
                                          @Nullable AccentColorIconButton downvoteButton)
focal_class.signature:  ImageInteractionPresenter(int imageId,
                                          @Nullable AccentColorIconButton scoreButton,
                                          @Nullable AccentColorIconButton faveButton,
                                          @Nullable AccentColorIconButton upvoteButton,
                                          @Nullable AccentColorIconButton downvoteButton)
focal_class.class_method_signature: ImageInteractionPresenter.enableInteractions(Context context)
focal_class.full_signature: public final void enableInteractions(Context context)
focal_class.identifier: enableInteractions
focal_class.modifiers: public final
focal_class.parameters: (Context context)
focal_class.return: void
focal_class.signature: void enableInteractions(Context context)
focal_class.class_method_signature: ImageInteractionPresenter.getNewInstanceOfRequester(Context context, InteractionRequestHandler handler)
focal_class.full_signature: protected ImageInteractionRequester getNewInstanceOfRequester(Context context, InteractionRequestHandler handler)
focal_class.identifier: getNewInstanceOfRequester
focal_class.modifiers: protected
focal_class.parameters: (Context context, InteractionRequestHandler handler)
focal_class.return: ImageInteractionRequester
focal_class.signature: ImageInteractionRequester getNewInstanceOfRequester(Context context, InteractionRequestHandler handler)
focal_class.class_method_signature: ImageInteractionPresenter.toggleInteractionButtons(boolean enabled)
focal_class.full_signature: private void toggleInteractionButtons(boolean enabled)
focal_class.identifier: toggleInteractionButtons
focal_class.modifiers: private
focal_class.parameters: (boolean enabled)
focal_class.return: void
focal_class.signature: void toggleInteractionButtons(boolean enabled)
focal_class.class_method_signature: ImageInteractionPresenter.onInteractionFailed()
focal_class.full_signature: protected abstract void onInteractionFailed()
focal_class.identifier: onInteractionFailed
focal_class.modifiers: protected abstract
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void onInteractionFailed()
focal_class.class_method_signature: ImageInteractionPresenter.getInteractionsSet()
focal_class.full_signature: @NonNull protected abstract EnumSet<DerpibooruImageInteraction.InteractionType> getInteractionsSet()
focal_class.identifier: getInteractionsSet
focal_class.modifiers: @NonNull protected abstract
focal_class.parameters: ()
focal_class.return: EnumSet<DerpibooruImageInteraction.InteractionType>
focal_class.signature: EnumSet<DerpibooruImageInteraction.InteractionType> getInteractionsSet()
focal_class.class_method_signature: ImageInteractionPresenter.onInteractionCompleted(DerpibooruImageInteraction result)
focal_class.full_signature: protected void onInteractionCompleted(DerpibooruImageInteraction result)
focal_class.identifier: onInteractionCompleted
focal_class.modifiers: protected
focal_class.parameters: (DerpibooruImageInteraction result)
focal_class.return: void
focal_class.signature: void onInteractionCompleted(DerpibooruImageInteraction result)
focal_class.class_method_signature: ImageInteractionPresenter.refreshInfo(int faves, int upvotes, int downvotes)
focal_class.full_signature: public void refreshInfo(int faves, int upvotes, int downvotes)
focal_class.identifier: refreshInfo
focal_class.modifiers: public
focal_class.parameters: (int faves, int upvotes, int downvotes)
focal_class.return: void
focal_class.signature: void refreshInfo(int faves, int upvotes, int downvotes)
focal_class.class_method_signature: ImageInteractionPresenter.initializeInteractionListeners()
focal_class.full_signature: private void initializeInteractionListeners()
focal_class.identifier: initializeInteractionListeners
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void initializeInteractionListeners()
focal_method.body: public final void enableInteractions(Context context) {
          mInteractionRequester = getNewInstanceOfRequester(context, new InteractionRequestHandler());
          initializeInteractionListeners();
          toggleInteractionButtons(true);
      }
focal_method.class_method_signature: ImageInteractionPresenter.enableInteractions(Context context)
focal_method.full_signature: public final void enableInteractions(Context context)
focal_method.identifier: enableInteractions
focal_method.invocations: getNewInstanceOfRequester initializeInteractionListeners toggleInteractionButtons
focal_method.modifiers: public final
focal_method.parameters: (Context context)
focal_method.return: void
focal_method.signature: void enableInteractions(Context context)