package thredds.util; import junit.framework.*; /** * _more_ * * @author edavis * @since 4.0 */ public class TestVersion extends TestCase { public TestVersion( String name ) { super( name ); } public void testValidVersions() { validVersionExpected( "1.0" ); validVersionExpected( "007" ); validVersionExpected( "3.14159" ); invalidVersionExpected( "1.0 " ); invalidVersionExpected( " 1.0" ); invalidVersionExpected( "1. 0.0" ); invalidVersionExpected( "1.0a" ); invalidVersionExpected( "-1.0" ); invalidVersionExpected( "1.-8" ); invalidVersionExpected( "." ); invalidVersionExpected( ".." ); invalidVersionExpected( "..." ); invalidVersionExpected( ".1" ); invalidVersionExpected( "1." ); } /** * Test ... */ public void testCompareTo() { Version v1, v1_alt, v1_0, v1_0_alt, v1_0_0, v1_0_0_alt; Version v1_1; try { v1 = new Version( "1" ); v1_alt = new Version( "1" ); v1_0 = new Version( "1.0" ); v1_0_alt = new Version( "1.0" ); v1_0_0 = new Version( "1.0.0" ); v1_0_0_alt = new Version( "1.0.0" ); v1_1 = new Version( "1.1" ); } catch ( IllegalArgumentException e ) { fail( "Unexpected IllegalArgumentException: " + e.getMessage() ); return; } compareToEqualExpected( v1, v1_alt ); compareToEqualExpected( v1, v1_0 ); compareToEqualExpected( v1, v1_0_0 ); compareToEqualExpected( v1_0, v1 ); compareToEqualExpected( v1_0, v1_0_alt ); compareToEqualExpected( v1_0, v1_0_0 ); compareToEqualExpected( v1_0_0, v1 ); compareToEqualExpected( v1_0_0, v1_0 ); compareToEqualExpected( v1_0_0, v1_0_0_alt ); compareToGreaterThanExpected( v1_1, v1 ); compareToGreaterThanExpected( v1_1, v1_0 ); compareToGreaterThanExpected( v1_1, v1_0_0 ); compareToLessThanExpected( v1, v1_1 ); compareToLessThanExpected( v1_0, v1_1 ); } private void compareToEqualExpected( Version v1, Version v2 ) { assertTrue( "Version(\"" + v1.getVersionString() + "\") NOT equal to Version(\"" + v2.getVersionString() + "\").", v1.compareTo( v2 ) == 0 ); } private void compareToGreaterThanExpected( Version v1, Version v2 ) { assertTrue( "Version(\"" + v1.getVersionString() + "\") NOT greater than to Version(\"" + v2.getVersionString() + "\").", v1.compareTo( v2 ) > 0 ); } private void compareToLessThanExpected( Version v1, Version v2 ) { assertTrue( "Version(\"" + v1.getVersionString() + "\") NOT less than to Version(\"" + v2.getVersionString() + "\").", v1.compareTo( v2 ) < 0 ); } private void validVersionExpected( String verStr ) { try { new Version( verStr ); } catch ( IllegalArgumentException e ) { fail( "Unexpected invalid version <" + verStr + ">: " + e.getMessage() ); } } private void invalidVersionExpected( String verStr ) { try { new Version( verStr ); } catch ( IllegalArgumentException e ) { return; } fail( "Unexpected valid version <" + verStr + ">: " ); } }