test_class.declarator: operation1
test_class.modifier: private
test_class.original_string: private Operation operation1;
test_class.type: Operation
test_class.var_name: operation1
test_class.declarator: dbSetup1
test_class.modifier: private
test_class.original_string: private DbSetup dbSetup1;
test_class.type: DbSetup
test_class.var_name: dbSetup1
test_class.declarator: operation2
test_class.modifier: private
test_class.original_string: private Operation operation2;
test_class.type: Operation
test_class.var_name: operation2
test_class.declarator: dbSetup2
test_class.modifier: private
test_class.original_string: private DbSetup dbSetup2;
test_class.type: DbSetup
test_class.var_name: dbSetup2
test_class.file: DbSetup-core/src/test/java/com/ninja_squad/dbsetup/DbSetupTrackerTest.java
test_class.identifier: DbSetupTrackerTest
test_case.body: @Test
      public void launchIfNecessaryLaunchesIfNotSkipped() throws SQLException {
          DbSetupTracker tracker = new DbSetupTracker();
          tracker.launchIfNecessary(dbSetup1);
          tracker.launchIfNecessary(dbSetup1);
          verify(operation1, times(2)).execute(any(Connection.class), any(BinderConfiguration.class));
      }
test_case.class_method_signature: DbSetupTrackerTest.launchIfNecessaryLaunchesIfNotSkipped()
test_case.full_signature: @Test public void launchIfNecessaryLaunchesIfNotSkipped()
test_case.identifier: launchIfNecessaryLaunchesIfNotSkipped
test_case.invocations: launchIfNecessary launchIfNecessary execute verify times any any
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void launchIfNecessaryLaunchesIfNotSkipped()
focal_class.declarator: lastSetupLaunched
focal_class.modifier: private
focal_class.original_string: private DbSetup lastSetupLaunched;
focal_class.type: DbSetup
focal_class.var_name: lastSetupLaunched
focal_class.declarator: nextLaunchSkipped
focal_class.modifier: private
focal_class.original_string: private boolean nextLaunchSkipped;
focal_class.type: boolean
focal_class.var_name: nextLaunchSkipped
focal_class.file: DbSetup-core/src/main/java/com/ninja_squad/dbsetup/DbSetupTracker.java
focal_class.identifier: DbSetupTracker
focal_class.class_method_signature: DbSetupTracker.launchIfNecessary(@Nonnull DbSetup dbSetup)
focal_class.full_signature: public void launchIfNecessary(@Nonnull DbSetup dbSetup)
focal_class.identifier: launchIfNecessary
focal_class.modifiers: public
focal_class.parameters: (@Nonnull DbSetup dbSetup)
focal_class.return: void
focal_class.signature: void launchIfNecessary(@Nonnull DbSetup dbSetup)
focal_class.class_method_signature: DbSetupTracker.skipNextLaunch()
focal_class.full_signature: public void skipNextLaunch()
focal_class.identifier: skipNextLaunch
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void skipNextLaunch()
focal_class.class_method_signature: DbSetupTracker.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: public void launchIfNecessary(@Nonnull DbSetup dbSetup) {
          boolean skipLaunch = nextLaunchSkipped && dbSetup.equals(lastSetupLaunched);
          nextLaunchSkipped = false;
          if (skipLaunch) {
              return;
          }
          dbSetup.launch();
          lastSetupLaunched = dbSetup;
      }
focal_method.class_method_signature: DbSetupTracker.launchIfNecessary(@Nonnull DbSetup dbSetup)
focal_method.full_signature: public void launchIfNecessary(@Nonnull DbSetup dbSetup)
focal_method.identifier: launchIfNecessary
focal_method.invocations: equals launch
focal_method.modifiers: public
focal_method.parameters: (@Nonnull DbSetup dbSetup)
focal_method.return: void
focal_method.signature: void launchIfNecessary(@Nonnull DbSetup dbSetup)