### Question:
NativeLibraryManager implements NativeLibraryExtractor { static String buildPathToNativeFile(final String operatingSystem, final String architecture, final String fileName) { final StringBuilder sb = new StringBuilder(NATIVE.length() + 1 + operatingSystem.length() + 1 + 7 + 1 + fileName.length()); sb.append(NATIVE).append('/'); sb.append(operatingSystem).append('/'); if (architecture != null) { sb.append(architecture).append('/'); } sb.append(fileName); final String result = sb.toString(); return result; } NativeLibraryManager(final PersistenceStore store); void extractFiles(); void extractFile(final String operatingSystem, final String architecture, final String fileName); static synchronized void initialize();  }### Answer:
@Test public void buildPathToNativeFile_threeComponents() throws Exception { final String actual = NativeLibraryManager.buildPathToNativeFile("win32", "x86", "native_auth.dll"); Assert.assertEquals("native/win32/x86/native_auth.dll", actual); }
@Test public void buildPathToNativeFile_twoComponents() throws Exception { final String actual = NativeLibraryManager.buildPathToNativeFile("macosx", null, "libnative_auth.jnilib"); Assert.assertEquals("native/macosx/libnative_auth.jnilib", actual); }