Options { public @Nullable File getOpearFile() { return opearFile; } Options();   Options(final boolean justHelp,
            final boolean justVersion,
            final boolean storeBlobs,
            final @NotNull URL planUrl,
            final @NotNull ClassLoader scanClassLoader,
            final @NotNull File cacheDir,
            final @Nullable File opearFile,
            final @Nullable String planName,
            final @Nullable File planFile,
            final @Nullable File planFileBaseDir,
            final @NotNull List<File> preInstallFiles,
            final @NotNull List<File> repoInitFiles,
            final @NotNull List<String> runModes,
            final boolean noRunModes,
            final @NotNull List<File> extendedClassPathFiles,
            final boolean noHooks,
            final @NotNull List<File> scanFiles,
            final @NotNull Function<StructuredMessage, IO<Nothing>> printer,
            final @NotNull Severity failOnSeverity); boolean isJustHelp(); boolean isJustVersion(); boolean isStoreBlobs(); boolean isNoHooks(); URL getPlanUrl(); ClassLoader getScanClassLoader(); File getCacheDir(); @Nullable File getOpearFile(); @Nullable String getPlanName(); @Nullable File getPlanFile(); @Nullable File getPlanFileBaseDir(); @NotNull List<File> getPreInstallFiles(); @NotNull List<File> getRepoInitFiles(); @NotNull List<String> getRunModes(); boolean isNoRunModes(); @NotNull List<File> getExtendedClassPathFiles(); List<File> getScanFiles(); Function<StructuredMessage, IO<Nothing>> getPrinter(); Severity getFailOnSeverity(); OakpalPlan applyOverrides(final @NotNull OakpalPlan basePlan);  }
@Test public void testOpearFile() { final Console console = getMockConsole(); when(console.getCwd()).thenReturn(tempDir); Options.Builder builder = new Options.Builder().setOpearFile(new File("src/test/resources/opears/emptyplan")); final Result<Options> optionsResult = builder.build(console); assertFalse("options build is successful", optionsResult.getError().isPresent()); optionsResult.forEach(options -> assertTrue("opearFile should be a directory: " + options.getOpearFile().getAbsolutePath(), options.getOpearFile().isDirectory())); }