ReLinkerInstance { protected File getWorkaroundLibFile(final Context context, final String library, final String version) { final String libName = libraryLoader.mapLibraryName(library); if (TextUtils.isEmpty(version)) { return new File(getWorkaroundLibDir(context), libName); } return new File(getWorkaroundLibDir(context), libName + "." + version); } protected  ReLinkerInstance(); protected  ReLinkerInstance(final ReLinker.LibraryLoader libraryLoader,
                               final ReLinker.LibraryInstaller libraryInstaller); ReLinkerInstance log(final ReLinker.Logger logger); ReLinkerInstance force(); ReLinkerInstance recursively(); void loadLibrary(final Context context, final String library); void loadLibrary(final Context context, final String library, final String version); void loadLibrary(final Context context,
                            final String library,
                            final ReLinker.LoadListener listener); void loadLibrary(final Context context,
                            final String library,
                            final String version,
                            final ReLinker.LoadListener listener); void log(final String format, final Object... args); void log(final String message);  }
@Test public void getsCorrectWorkaroundFile() { final ReLinkerInstance instance = new ReLinkerInstance(testLoader, testInstaller); final String libName = testLoader.mapLibraryName(TEST_LIB); final File libFile = new File(libDir, libName); assertThat(instance.getWorkaroundLibFile(context, TEST_LIB, null), is(libFile)); final File versionedLibFile = new File(libDir, libName + ".2.0"); assertThat(instance.getWorkaroundLibFile(context, TEST_LIB, "2.0"), is(versionedLibFile)); }