/** * Test default values. */ @Test public void testDefaults() { final VersionInfo info = new VersionInfo(); doTest( info, false, null, null, null, null, null, null, null, "" ); }
/** * Tests the various ways to set an empty version. */ @Test public void testSetVersionEmpty() { // empty version value - versionMajor will be an empty string and all other attributes should be null VersionInfo info = new VersionInfo(); info.setVersion( "" ); doTest( info, false, null, null, "", null, null, null, null, "" ); // null, null string, hyphen and period should all be treated the same - as if the value was empty, final String[] emptyVersions = new String[] { null, "-", "." }; for ( final String emptyVersion : emptyVersions ) { info = new VersionInfo(); info.setVersion( emptyVersion ); doTest( info, false, null, null, null, null, null, null, null, "" ); } }
/** * Verifies that additional fields present in the combined version value are ignored. */ @Test public void testSetVersionAdditionalFields() { VersionInfo info; String version, versionClean; info = new VersionInfo(); version = "10.3a.123.007.87590.foe"; versionClean = "10.3a.123.007.87590"; info.setVersion( version ); doTest( info, false, null, null, "10", "3a", "123", "007", "87590", versionClean ); info = new VersionInfo(); version = "10.3a.123.007.87590.foe.foo-abc.xyz"; versionClean = "10.3a.123.007.87590"; info.setVersion( version ); doTest( info, false, null, null, "10", "3a", "123", "007", "87590", versionClean ); }
info.setVersionMilestone( versionMilestone ); info.setVersionBuild( versionBuild ); doTest( info, fromManifest, productID, title, versionMajor, versionMinor, versionRelease, versionMilestone, versionBuild, versionNumber.toString() ); versionNumber = new StringBuffer(); versionNumber.append( versionMajor ); doTest( info, fromManifest, productID, title, versionMajor, null, versionRelease, versionMilestone, versionBuild, versionNumber.toString() ); versionNumber.append( versionMajor ); versionNumber.append( '.' ).append( versionMinor ); //$NON-NLS-1$ doTest( info, fromManifest, productID, title, versionMajor, versionMinor, null, versionMilestone, versionBuild, versionNumber.toString() ); versionNumber.append( '.' ).append( versionMinor ); //$NON-NLS-1$ versionNumber.append( '.' ).append( versionRelease ); //$NON-NLS-1$ doTest( info, fromManifest, productID, title, versionMajor, versionMinor, versionRelease, null, versionBuild, versionNumber.toString() ); versionNumber.append( '.' ).append( versionRelease ); //$NON-NLS-1$ versionNumber.append( '.' ).append( versionMilestone ); //$NON-NLS-1$ doTest( info, fromManifest, productID, title, versionMajor, versionMinor, versionRelease, versionMilestone, null, versionNumber.toString() );
versionClean = ".3a.123.007"; info.setVersion( version ); doTest( info, false, null, null, "", "3a", "123", "007", null, versionClean ); versionClean = ".3a.123.007"; info.setVersion( version ); doTest( info, false, null, null, "", "3a", "123", "007", null, versionClean ); versionClean = "10..123..87590"; info.setVersion( version ); doTest( info, false, null, null, "10", "", "123", "", "87590", versionClean ); versionClean = "10.3a...87590"; info.setVersion( version ); doTest( info, false, null, null, "10", "3a", "", "", "87590", versionClean );
versionClean = "10.3a.123.007.87590"; info.setVersion( version ); doTest( info, false, null, null, "10", "3a", "123", "007", "87590", versionClean ); versionClean = "10.3a.123.007"; info.setVersion( version ); doTest( info, false, null, null, "10", "3a", "123", "007", null, versionClean ); versionClean = "10.3a.123"; info.setVersion( version ); doTest( info, false, null, null, "10", "3a", "123", null, null, versionClean ); versionClean = "10.3a"; info.setVersion( version ); doTest( info, false, null, null, "10", "3a", null, null, null, versionClean ); versionClean = "10"; info.setVersion( version ); doTest( info, false, null, null, "10", null, null, null, null, versionClean );