/**
* Copyright (c) 2010, 2013 Darmstadt University of Technology.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Olav Lenz - Initial implementation.
*/
package org.eclipse.recommenders.utils;
import static org.junit.Assert.assertEquals;
import java.util.Collection;
import java.util.LinkedList;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import com.google.common.collect.Lists;
@RunWith(Parameterized.class)
public class VersionCanonicalizationTest {
private String expected;
private String input;
public VersionCanonicalizationTest(String expected, String input) {
this.expected = expected;
this.input = input;
}
@Parameters
public static Collection<Object[]> scenarios() {
LinkedList<Object[]> scenarios = Lists.newLinkedList();
scenarios.add(new Object[] { "2.3.0", "2.3.0" });
scenarios.add(new Object[] { "2.3.0", "2.3" });
scenarios.add(new Object[] { "2.0.0", "2" });
scenarios.add(new Object[] { "2.3.0", "2.3-SNAPSHOT" });
scenarios.add(new Object[] { "2.3.0", "2.3.Beta" });
scenarios.add(new Object[] { "Beta", "Beta" });
scenarios.add(new Object[] { "2.3.0", "2.3.0" });
scenarios.add(new Object[] { "1.2.3", "1.2.3.4" });
scenarios.add(new Object[] { "15.0.0", "15.0" });
scenarios.add(new Object[] { "1.1.3333", "1.1.3333" });
scenarios.add(new Object[] { "1.2222.0", "1.2222" });
scenarios.add(new Object[] { "1111.2222.0", "1111.2222" });
scenarios.add(new Object[] { "1111.2222.3333", "1111.2222.3333" });
scenarios.add(new Object[] { "1234567.1234567.0", "1234567.1234567" });
scenarios.add(new Object[] { "1234567.898765.432101", "1234567.898765.432101" });
return scenarios;
}
@Test
public void testCanonicalVersionWorksCorrect() {
assertEquals(expected, Versions.canonicalizeVersion(input));
}
}