BibleController { public AvailableFeatures getFeatures(final String version, final String extraVersions, final String displayMode) { notEmpty(version, "bible_required", USER_MISSING_FIELD); String[] extraVersionsAsString = StringUtils.split(extraVersions, ","); return this.optionsValidationService.getAvailableFeaturesForVersion(version, Arrays.asList(extraVersionsAsString), displayMode, InterlinearMode.valueOf(displayMode)); } @Inject  BibleController(final BibleInformationService bibleInformation,
                           final Provider<ClientSession> clientSession,
                           PassageOptionsValidationService optionsValidationService); ModulesForLanguageUser getModules(final String allVersions); OsisWrapper getBibleText(final String version, final String reference); String getPlainTextPreview(final String version, final String reference); OsisWrapper getBibleText(final String version, final String reference, final String options); OsisWrapper getBibleText(final String version, final String reference, final String options,
                                    final String interlinearVersion); @Timed(name = "getText", rateUnit = TimeUnit.SECONDS, durationUnit = TimeUnit.MILLISECONDS) OsisWrapper getBibleText(final String version, final String reference, final String options,
                                    final String interlinearVersion, final String interlinearMode); OsisWrapper getBibleByVerseNumber(final String version, final String startVerseId,
                                             final String endVerseId, final String roundUp, final String options); OsisWrapper getBibleByVerseNumber(final String version, final String startVerseId,
                                             final String endVerseId, final String roundUp, final String options,
                                             final String interlinearVersion); StrongCountsAndSubjects getStrongNumbersAndSubjects(final String version, final String reference); @Timed(name = "vocab-popup", group = "analysis", rateUnit = TimeUnit.SECONDS, durationUnit = TimeUnit.MILLISECONDS) StrongCountsAndSubjects getStrongNumbersAndSubjects(final String version, final String reference, final String userLanguage); AvailableFeatures getFeatures(final String version, final String extraVersions, final String displayMode); List<EnrichedLookupOption> getAllFeatures(); List<BookName> getBibleBookNames(final String bookStart, final String version); KeyWrapper getNextChapter(final String reference, final String version); KeyWrapper convertReferenceForBook(final String reference, final String sourceVersion, final String targetVersion); KeyWrapper getPreviousChapter(final String reference, final String version); KeyWrapper expandKeyToChapter(final String sourceVersion, final String version, final String reference); KeyWrapper getKeyInfo(final String reference, final String sourceVersion, final String version);  }
@Test public void testGetFeatures() { final String version = "abp"; this.testController.getFeatures(version, null, "NONE"); verify(this.optionsValidationService).getAvailableFeaturesForVersion(eq(version), any(List.class), eq("NONE"), any(InterlinearMode.class)); }