test_class.file: core/src/test/java/net/adamcin/oakpal/core/AbortedScanExceptionTest.java
test_class.identifier: AbortedScanExceptionTest
test_case.body: @Test
      public void testGetMessage() throws Exception {
          final String baseMessage = "baseMessage";
          final Exception baseError = new Exception(baseMessage);
  
          final Function<String, String> expectMessage = prefix ->
                  prefix + baseError.getClass().getName() + ": " + baseError.getMessage();
  
          AbortedScanException aseNoPackage = new AbortedScanException(baseError);
          assertEquals("no package has base message", expectMessage.apply(""), aseNoPackage.getMessage());
          File file = TestPackageUtil.prepareTestPackage("package_1.0.zip");
          AbortedScanException aseFile = new AbortedScanException(baseError, file);
          assertEquals("file package package has prefix",
                  expectMessage.apply("(Failed package: " + file.getAbsolutePath() + ") "),
                  aseFile.getMessage());
          final URL url = file.toURI().toURL();
          AbortedScanException aseUrl = new AbortedScanException(baseError, url);
          assertEquals("url package package has prefix",
                  expectMessage.apply("(Failed package: " + url.toString() + ") "),
                  aseUrl.getMessage());
  
          Node node = mock(Node.class);
          final String path = "/etc/packages/correct/path";
          when(node.getPath()).thenReturn(path);
          AbortedScanException aseNode = new AbortedScanException(baseError, node);
          assertEquals("node package package has prefix",
                  expectMessage.apply("(Failed package: " + path + ") "),
                  aseNode.getMessage());
      }
test_case.class_method_signature: AbortedScanExceptionTest.testGetMessage()
test_case.full_signature: @Test public void testGetMessage()
test_case.identifier: testGetMessage
test_case.invocations: getName getClass getMessage assertEquals apply getMessage prepareTestPackage assertEquals apply getAbsolutePath getMessage toURL toURI assertEquals apply toString getMessage mock thenReturn when getPath assertEquals apply getMessage
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetMessage()
focal_class.declarator: currentPackageUrl
focal_class.modifier: private final
focal_class.original_string: private final URL currentPackageUrl;
focal_class.type: URL
focal_class.var_name: currentPackageUrl
focal_class.declarator: currentPackageFile
focal_class.modifier: private final
focal_class.original_string: private final File currentPackageFile;
focal_class.type: File
focal_class.var_name: currentPackageFile
focal_class.declarator: currentPackageNode
focal_class.modifier: private final
focal_class.original_string: private final Node currentPackageNode;
focal_class.type: Node
focal_class.var_name: currentPackageNode
focal_class.file: core/src/main/java/net/adamcin/oakpal/core/AbortedScanException.java
focal_class.identifier: AbortedScanException
focal_class.class_method_signature: AbortedScanException.AbortedScanException(final Throwable cause, final File currentPackageFile)
focal_class.full_signature: public  AbortedScanException(final Throwable cause, final File currentPackageFile)
focal_class.identifier: AbortedScanException
focal_class.modifiers: public
focal_class.parameters: (final Throwable cause, final File currentPackageFile)
focal_class.signature:  AbortedScanException(final Throwable cause, final File currentPackageFile)
focal_class.class_method_signature: AbortedScanException.AbortedScanException(final Throwable cause, final URL currentPackageUrl)
focal_class.full_signature: public  AbortedScanException(final Throwable cause, final URL currentPackageUrl)
focal_class.identifier: AbortedScanException
focal_class.modifiers: public
focal_class.parameters: (final Throwable cause, final URL currentPackageUrl)
focal_class.signature:  AbortedScanException(final Throwable cause, final URL currentPackageUrl)
focal_class.class_method_signature: AbortedScanException.AbortedScanException(final Throwable cause, final Node currentPackageNode)
focal_class.full_signature: public  AbortedScanException(final Throwable cause, final Node currentPackageNode)
focal_class.identifier: AbortedScanException
focal_class.modifiers: public
focal_class.parameters: (final Throwable cause, final Node currentPackageNode)
focal_class.signature:  AbortedScanException(final Throwable cause, final Node currentPackageNode)
focal_class.class_method_signature: AbortedScanException.AbortedScanException(Throwable cause)
focal_class.full_signature: public  AbortedScanException(Throwable cause)
focal_class.identifier: AbortedScanException
focal_class.modifiers: public
focal_class.parameters: (Throwable cause)
focal_class.signature:  AbortedScanException(Throwable cause)
focal_class.class_method_signature: AbortedScanException.getCurrentPackageUrl()
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public Optional<URL> getCurrentPackageUrl()
focal_class.identifier: getCurrentPackageUrl
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public
focal_class.parameters: ()
focal_class.return: Optional<URL>
focal_class.signature: Optional<URL> getCurrentPackageUrl()
focal_class.class_method_signature: AbortedScanException.getCurrentPackageFile()
focal_class.full_signature: public Optional<File> getCurrentPackageFile()
focal_class.identifier: getCurrentPackageFile
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Optional<File>
focal_class.signature: Optional<File> getCurrentPackageFile()
focal_class.class_method_signature: AbortedScanException.getCurrentPackageNode()
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public Optional<Node> getCurrentPackageNode()
focal_class.identifier: getCurrentPackageNode
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public
focal_class.parameters: ()
focal_class.return: Optional<Node>
focal_class.signature: Optional<Node> getCurrentPackageNode()
focal_class.class_method_signature: AbortedScanException.getMessage()
focal_class.full_signature: @Override public String getMessage()
focal_class.identifier: getMessage
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getMessage()
focal_class.class_method_signature: AbortedScanException.getFailedPackageMessage()
focal_class.full_signature: @SuppressWarnings({"WeakerAccess", "OptionalGetWithoutIsPresent"}) public String getFailedPackageMessage()
focal_class.identifier: getFailedPackageMessage
focal_class.modifiers: @SuppressWarnings({"WeakerAccess", "OptionalGetWithoutIsPresent"}) public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getFailedPackageMessage()
focal_class.superclass: extends Exception
focal_method.body: @Override
      public String getMessage() {
          return getFailedPackageMessage() + super.getMessage();
      }
focal_method.class_method_signature: AbortedScanException.getMessage()
focal_method.full_signature: @Override public String getMessage()
focal_method.identifier: getMessage
focal_method.invocations: getFailedPackageMessage getMessage
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: String
focal_method.signature: String getMessage()