test_class.file: core/src/test/java/net/adamcin/oakpal/core/checks/ExpectPathsTest.java
test_class.identifier: ExpectPathsTest
test_case.body: @Test
      public void testStartedScan() throws Exception {
          ExpectPaths.Check check = checkFor(key(ExpectPaths.keys().expectedPaths(), arr("/foo")).get());
          final PackageId pid = PackageId.fromString("foo");
          final Session session = mock(Session.class);
          check.afterExtract(pid, session);
          check.startedScan();
          check.afterExtract(pid, session);
          check.afterExtract(pid, session);
          check.finishedScan();
          Collection<Violation> violations = check.getReportedViolations();
          assertEquals("expect one violation", 1, violations.stream().count());
          assertEquals("expect one packageId", 1, violations.stream().findFirst().get().getPackages().size());
      }
test_case.class_method_signature: ExpectPathsTest.testStartedScan()
test_case.full_signature: @Test public void testStartedScan()
test_case.identifier: testStartedScan
test_case.invocations: checkFor get key expectedPaths keys arr fromString mock afterExtract startedScan afterExtract afterExtract finishedScan getReportedViolations assertEquals count stream assertEquals size getPackages get findFirst stream
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testStartedScan()
focal_class.declarator: KEYS = new JsonKeys() {
          @Override
          public String expectedPaths() {
              return "expectedPaths";
          }
  
          @Override
          public String notExpectedPaths() {
              return "notExpectedPaths";
          }
  
          @Override
          public String afterPackageIdRules() {
              return "afterPackageIdRules";
          }
  
          @Override
          public String severity() {
              return "severity";
          }
      }
focal_class.modifier: private static final
focal_class.original_string: private static final JsonKeys KEYS = new JsonKeys() {
          @Override
          public String expectedPaths() {
              return "expectedPaths";
          }
  
          @Override
          public String notExpectedPaths() {
              return "notExpectedPaths";
          }
  
          @Override
          public String afterPackageIdRules() {
              return "afterPackageIdRules";
          }
  
          @Override
          public String severity() {
              return "severity";
          }
      };
focal_class.type: JsonKeys
focal_class.var_name: KEYS
focal_class.declarator: CONFIG_EXPECTED_PATHS = keys().expectedPaths()
focal_class.modifier: @Deprecated
      public static final
focal_class.original_string: @Deprecated
      public static final String CONFIG_EXPECTED_PATHS = keys().expectedPaths();
focal_class.type: String
focal_class.var_name: CONFIG_EXPECTED_PATHS
focal_class.declarator: CONFIG_NOT_EXPECTED_PATHS = keys().notExpectedPaths()
focal_class.modifier: @Deprecated
      public static final
focal_class.original_string: @Deprecated
      public static final String CONFIG_NOT_EXPECTED_PATHS = keys().notExpectedPaths();
focal_class.type: String
focal_class.var_name: CONFIG_NOT_EXPECTED_PATHS
focal_class.declarator: CONFIG_AFTER_PACKAGE_ID_RULES = keys().afterPackageIdRules()
focal_class.modifier: @Deprecated
      public static final
focal_class.original_string: @Deprecated
      public static final String CONFIG_AFTER_PACKAGE_ID_RULES = keys().afterPackageIdRules();
focal_class.type: String
focal_class.var_name: CONFIG_AFTER_PACKAGE_ID_RULES
focal_class.declarator: CONFIG_SEVERITY = keys().severity()
focal_class.modifier: @Deprecated
      public static final
focal_class.original_string: @Deprecated
      public static final String CONFIG_SEVERITY = keys().severity();
focal_class.type: String
focal_class.var_name: CONFIG_SEVERITY
focal_class.declarator: DEFAULT_SEVERITY = Severity.MAJOR
focal_class.modifier: static final
focal_class.original_string: static final Severity DEFAULT_SEVERITY = Severity.MAJOR;
focal_class.type: Severity
focal_class.var_name: DEFAULT_SEVERITY
focal_class.file: core/src/main/java/net/adamcin/oakpal/core/checks/ExpectPaths.java
focal_class.identifier: ExpectPaths
focal_class.interfaces: implements ProgressCheckFactory
focal_class.class_method_signature: ExpectPaths.keys()
focal_class.full_signature: @NotNull public static JsonKeys keys()
focal_class.identifier: keys
focal_class.modifiers: @NotNull public static
focal_class.parameters: ()
focal_class.return: JsonKeys
focal_class.signature: JsonKeys keys()
focal_class.class_method_signature: ExpectPaths.newInstance(final JsonObject config)
focal_class.full_signature: @Override public ProgressCheck newInstance(final JsonObject config)
focal_class.identifier: newInstance
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonObject config)
focal_class.return: ProgressCheck
focal_class.signature: ProgressCheck newInstance(final JsonObject config)
focal_method.body: @NotNull
      public static JsonKeys keys() {
          return KEYS;
      }
focal_method.class_method_signature: ExpectPaths.keys()
focal_method.full_signature: @NotNull public static JsonKeys keys()
focal_method.identifier: keys
focal_method.modifiers: @NotNull public static
focal_method.parameters: ()
focal_method.return: JsonKeys
focal_method.signature: JsonKeys keys()