/**
* Copyright (c) 2012 by JP Moresmau
* This code is made available under the terms of the Eclipse Public License,
* version 1.0 (EPL). See http://www.eclipse.org/legal/epl-v10.html
*/
package net.sf.eclipsefp.haskell.core.cabal;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
/**
* Test operation on cabal package versions
* @author JP Moresmau
*
*/
public class CabalPackageVersionTest {
@Test
public void testCompare(){
assertEquals( 0, CabalPackageVersion.compare( "1", "1" ) );
assertEquals( 0, CabalPackageVersion.compare( "1.0", "1.0" ) );
assertEquals( -1, CabalPackageVersion.compare( "1.0", "1.1" ) );
assertEquals( 1, CabalPackageVersion.compare( "1.1", "1.0" ) );
assertEquals( -1, CabalPackageVersion.compare( "1.1", "1.1.1" ) );
assertEquals( 1, CabalPackageVersion.compare( "1.1.1", "1.1" ) );
assertEquals( -1, CabalPackageVersion.compare( "1.0", "2.0" ) );
assertEquals( 1, CabalPackageVersion.compare( "2.0", "1.0" ) );
assertEquals( 1, CabalPackageVersion.compare( "0.2.16", "0.2.12" ) );
assertEquals( -1, CabalPackageVersion.compare( "0.2.12", "0.2.16" ) );
}
@Test
public void testRanges(){
assertEquals(">=2.4 && <2.5",CabalPackageVersion.getMajorRange( "2.4" ));
assertEquals(">=2.4 && <2.5",CabalPackageVersion.getMajorRange( "2.4.1" ));
assertEquals(">=2.4 && <2.5",CabalPackageVersion.getMajorRange( "2.4.2" ));
assertEquals(">=2.4 && <2.5",CabalPackageVersion.getMajorRange( "2.4.2.10" ));
assertEquals(">=2.4 && <2.5",CabalPackageVersion.getMajorRangeFromMinor( "2.4" ));
assertEquals(">=2.4.1 && <2.5",CabalPackageVersion.getMajorRangeFromMinor( "2.4.1" ));
assertEquals(">=2.4.2 && <2.5",CabalPackageVersion.getMajorRangeFromMinor( "2.4.2" ));
assertEquals(">=2.4.2 && <2.5",CabalPackageVersion.getMajorRangeFromMinor( "2.4.2.10" ));
assertEquals(">=2.4 && <2.4.1",CabalPackageVersion.getMinorRange( "2.4" ));
assertEquals(">=2.4.1 && <2.4.2",CabalPackageVersion.getMinorRange( "2.4.1" ));
assertEquals(">=2.4.2 && <2.4.3",CabalPackageVersion.getMinorRange( "2.4.2" ));
assertEquals(">=2.4.2 && <2.4.3",CabalPackageVersion.getMinorRange( "2.4.2.1O" ));
}
}