/*
* This file is part of muCommander, http://www.mucommander.com
* Copyright (C) 2002-2016 Maxence Bernard
*
* muCommander is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* muCommander is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.mucommander.commons.runtime;
import org.testng.annotations.Test;
/**
* A JUnit test case for {@link JavaVersion}.
*
* @author Maxence Bernard
*/
public class JavaVersionTest {
/**
* Tests the order of all known Java versions.
*/
@Test
public void testOrder() {
assert JavaVersion.JAVA_1_7.compareTo(JavaVersion.JAVA_1_6)>0;
assert JavaVersion.JAVA_1_6.compareTo(JavaVersion.JAVA_1_5)>0;
assert JavaVersion.JAVA_1_5.compareTo(JavaVersion.JAVA_1_4)>0;
assert JavaVersion.JAVA_1_4.compareTo(JavaVersion.JAVA_1_3)>0;
assert JavaVersion.JAVA_1_3.compareTo(JavaVersion.JAVA_1_2)>0;
assert JavaVersion.JAVA_1_2.compareTo(JavaVersion.JAVA_1_1)>0;
assert JavaVersion.JAVA_1_1.compareTo(JavaVersion.JAVA_1_0)>0;
}
/**
* Tests the current Java version and compares it against known Java versions.
*/
@Test
public void testCurrent() {
// Note: this test safely assumes that the current Java version is greater than 1.0
assert JavaVersion.getCurrent().compareTo(JavaVersion.JAVA_1_0)>0;
assert !JavaVersion.JAVA_1_0.isCurrent();
assert JavaVersion.JAVA_1_0.isCurrentHigher();
assert JavaVersion.JAVA_1_0.isCurrentOrHigher();
if(JavaVersion.getCurrent().compareTo(JavaVersion.JAVA_1_7)<0) {
assert !JavaVersion.JAVA_1_7.isCurrent();
assert JavaVersion.JAVA_1_7.isCurrentLower();
assert JavaVersion.JAVA_1_7.isCurrentOrLower();
}
}
/**
* Tests the parsing of known <code>java.version</code> system property values.
*/
@Test
public void testParsing() {
assert JavaVersion.parseSystemProperty("1.0")==JavaVersion.JAVA_1_0;
assert JavaVersion.parseSystemProperty("1.1")==JavaVersion.JAVA_1_1;
assert JavaVersion.parseSystemProperty("1.2")==JavaVersion.JAVA_1_2;
assert JavaVersion.parseSystemProperty("1.3")==JavaVersion.JAVA_1_3;
assert JavaVersion.parseSystemProperty("1.4")==JavaVersion.JAVA_1_4;
assert JavaVersion.parseSystemProperty("1.5")==JavaVersion.JAVA_1_5;
assert JavaVersion.parseSystemProperty("1.6")==JavaVersion.JAVA_1_6;
assert JavaVersion.parseSystemProperty("1.7")==JavaVersion.JAVA_1_7;
}
}