package org.ovirt.engine.api.restapi.utils;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.ovirt.engine.core.compat.Version;
public class VersionUtilsTest {
@Test
public void greaterOrEqual() {
assertTrue(VersionUtils.greaterOrEqual(new Version(1, 1), new Version(1, 0)));
assertTrue(VersionUtils.greaterOrEqual(new Version(1, 1), new Version(1, 1)));
assertTrue(VersionUtils.greaterOrEqual(new Version(1, 1, 1), new Version(1, 1)));
// an integer beyond the ones cached in Integer
assertTrue(VersionUtils.greaterOrEqual(new Version(6789, 9876, 1), new Version(6789, 6789)));
assertTrue(VersionUtils.greaterOrEqual(new Version("2"), new Version(1, 1)));
assertFalse(VersionUtils.greaterOrEqual(new Version(1, 0), new Version(2, 0)));
assertFalse(VersionUtils.greaterOrEqual(new Version(1, 1), new Version(2, 0)));
}
@Test
public void greaterOrEqualWithCompat() {
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 0, null, null), new Version(1, 0)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 1, null, null), new Version(1, 1)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 1, 1, null), new Version(1, 1)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(6789, 9876, 1, null), new Version(6789, 9876)));
assertFalse(VersionUtils.greaterOrEqual(modelVersion(1, 0, null, null), new Version(2, 0)));
assertFalse(VersionUtils.greaterOrEqual(modelVersion(1, null, null, null), new Version(2, 0)));
// note that the major version can not be null
// Assert.assertFalse(VersionUtils.greaterOrEqual(modelVersion(null, null, null, null), new Version(2, 0)));
}
@Test
public void greaterOrEqualWithModel() {
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 0, null, null), modelVersion(1, 0, null, null)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 1, null, null), modelVersion(1, 0, null, null)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 1, null, null), modelVersion(1, 0, null, null)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 1, null, null), modelVersion(1, 1, null, null)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 1, 1, null), modelVersion(1, 1, null, null)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 1, 1, 1), modelVersion(1, 1, null, null)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 1, null, null), modelVersion(1, 0, 1, 1)));
assertTrue(VersionUtils.greaterOrEqual(modelVersion(1, 1, 1, null), modelVersion(1, 0, 1, 1)));
}
private org.ovirt.engine.api.model.Version modelVersion(Integer major,
Integer minor,
Integer build,
Integer revision) {
final org.ovirt.engine.api.model.Version version = new org.ovirt.engine.api.model.Version();
version.setRevision(revision);
version.setBuild(build);
version.setMajor(major);
version.setMinor(minor);
return version;
}
}