package com.narrowtux.fmm;
import com.narrowtux.fmm.model.MatchedVersion;
import com.narrowtux.fmm.model.Version;
import org.junit.Test;
import static junit.framework.Assert.*;
public class MatchedVersionTest {
@Test
public void testMatchedVersions() {
assertTrue( m(">= 0", "0.0.0"));
assertTrue( m("> 0", "0.0.0"));
assertTrue( m(">= 0.0", "0.0.0"));
assertTrue( m("> 0.0", "0.0.0"));
assertFalse( m("> 0.0.0", "0.0.0"));
assertFalse( m(">= 1.2.3", "1.2.2"));
assertFalse( m("> 1", "0.0.0"));
assertFalse( m(">= 1", "0.0.0"));
assertTrue( m(">= 0.0.0", "0.0.0"));
assertTrue( m("<= 0.0.0", "0.0.0"));
assertTrue( m("== 0.0.0", "0.0.0"));
assertFalse( m("== 0.0.1", "0.0.0"));
assertTrue( m("< 0.12", "0.11.22")); // factorio 0.12 broke all mods on 0.11
assertFalse( m("< 0.12", "0.12.0"));
assertTrue( m("< 0.12.2", "0.12.0"));
assertTrue( m("< 0.12.0", "0.11.22"));
assertFalse( m("< 0", "0.0.0"));
}
@Test
public void testToString() {
assertEquals("> 0.1.2", MatchedVersion.valueOf("> 0.1.2").toString());
assertEquals("> 0.1.?", MatchedVersion.valueOf("> 0.1").toString());
assertEquals("> 0.?.?", MatchedVersion.valueOf("> 0").toString());
}
private static boolean m(String matched, String version) {
return MatchedVersion.valueOf(matched).matches(Version.valueOf(version));
}
}