### Question:
VersionChecker { public static boolean isHigherVersionAvailable(final String localVersion, final String remoteVersion) { boolean result = false; List<Integer> localVersionParts = getVersionParts(localVersion); List<Integer> remoteVersionParts = getVersionParts(remoteVersion); int previousLocalPart = 0; int previousRemotePart = 0; int index = 0; for (Integer localVersionPart : localVersionParts) { if (remoteVersionParts.size() > index) { int remoteVersionPart = remoteVersionParts.get(index); if (previousLocalPart == previousRemotePart && localVersionPart < remoteVersionPart) { result = true; } previousLocalPart = localVersionPart; previousRemotePart = remoteVersionPart; } index++; } return result; }  static String getLatestVersion(); static boolean isHigherVersionAvailable(final String localVersion,
			final String remoteVersion);  }### Answer:
@Test public void testIsHigherVersionAvailable() { assertTrue(VersionChecker.isHigherVersionAvailable("0.10.0", "0.10.1")); assertTrue(VersionChecker.isHigherVersionAvailable("0.10.1", "1.0.0")); assertTrue(VersionChecker.isHigherVersionAvailable("0.10.1", "0.11.0")); assertFalse(VersionChecker.isHigherVersionAvailable("0.11.0", "0.10.1")); assertFalse(VersionChecker.isHigherVersionAvailable("0.10.0", "0.10.0")); assertFalse(VersionChecker.isHigherVersionAvailable("0.10.0", "0.9.0")); }