### Question:
SchemaUtils { public static boolean isAGreatVersion(String schemaVersion, String version) { if (StringUtils.isEmpty(schemaVersion) || StringUtils.isEmpty(version)) { throw new RuntimeException("schemaVersion or version is empty"); } String[] schemaVersionArr = schemaVersion.split("\\."); String[] versionArr = version.split("\\."); int arrLength = Math.min(schemaVersionArr.length, versionArr.length); for (int i = 0; i < arrLength; i++) { if (Integer.parseInt(schemaVersionArr[i]) > Integer.parseInt(versionArr[i])) { return true; } else if (Integer.parseInt(schemaVersionArr[i]) < Integer.parseInt(versionArr[i])) { return false; } } return schemaVersionArr.length > versionArr.length; } private  SchemaUtils(); @SuppressWarnings("unchecked") static List<String> getAllSchemaList(); static boolean isAGreatVersion(String schemaVersion, String version); static String getSoftVersion(); static String replaceBlank(String str);  }### Answer:
@Test public void testIsAGreatVersion() { try { SchemaUtils.isAGreatVersion(null, null); } catch (RuntimeException e) { Assert.assertEquals("schemaVersion or version is empty", e.getMessage()); } try { SchemaUtils.isAGreatVersion("", ""); } catch (RuntimeException e) { Assert.assertEquals("schemaVersion or version is empty", e.getMessage()); } Assert.assertFalse(SchemaUtils.isAGreatVersion("1", "1")); Assert.assertTrue(SchemaUtils.isAGreatVersion("2", "1")); Assert.assertTrue(SchemaUtils.isAGreatVersion("1.1", "1")); Assert.assertTrue(SchemaUtils.isAGreatVersion("1.1", "1.0.1")); Assert.assertFalse(SchemaUtils.isAGreatVersion("1.1", "1.2")); Assert.assertTrue(SchemaUtils.isAGreatVersion("1.1.1", "1.1")); Assert.assertTrue(SchemaUtils.isAGreatVersion("10.1.1", "1.01.100")); try { SchemaUtils.isAGreatVersion("10.1.1", ".1"); } catch (Exception e) { Assert.assertNotNull(e); } try { SchemaUtils.isAGreatVersion("a.1.1", "b.1"); } catch (Exception e) { Assert.assertNotNull(e); } }