blob: e5b50159aaaf25271a598f7cfbce43f7cc6716cd [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007 compeople AG and others.
* 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:
* compeople AG (Stefan Liebig) - initial API and implementation
*******************************************************************************/
package org.eclipse.equinox.p2.tests.metadata;
import junit.framework.TestCase;
import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
import org.osgi.framework.Version;
/**
* Test <code>ArtifactkeyDeSerializer</code>
*/
public class ArtifactKeyParsingTest extends TestCase {
public void testSerialize() {
IArtifactKey key = new ArtifactKey("classifier", "identifier", new Version("1.0"));
assertEquals("classifier,identifier,1.0.0", key.toExternalForm());
}
public void testSerializeEmptyClassifier() {
IArtifactKey key = new ArtifactKey("", "identifier", new Version("1.0"));
assertEquals(",identifier,1.0.0", key.toExternalForm());
}
public void testDeserialize() {
IArtifactKey key = ArtifactKey.parse("classifier,identifier,1.0.0");
assertNotNull(key);
assertEquals("classifier", key.getClassifier());
assertEquals("identifier", key.getId());
assertEquals(new Version("1.0"), key.getVersion());
}
public void testDeserializeEmptyClassifier() {
IArtifactKey key = ArtifactKey.parse(",identifier,1.0.0");
assertNotNull(key);
assertEquals("", key.getClassifier());
assertEquals("identifier", key.getId());
assertEquals(new Version("1.0"), key.getVersion());
}
public void testDeserializeEmptyIdentifier() {
IArtifactKey key = ArtifactKey.parse("classifier,,1.0.0");
assertNotNull(key);
assertEquals("classifier", key.getClassifier());
assertEquals("", key.getId());
assertEquals(new Version("1.0"), key.getVersion());
}
public void testDeserializeEmptyVersion() {
IArtifactKey key = ArtifactKey.parse("classifier,identifier,");
assertNotNull(key);
assertEquals("classifier", key.getClassifier());
assertEquals("identifier", key.getId());
assertEquals(new Version("0.0"), key.getVersion());
}
public void testDeserializeEmptyEverything() {
IArtifactKey key = ArtifactKey.parse(",,");
assertNotNull(key);
assertEquals("", key.getClassifier());
assertEquals("", key.getId());
assertEquals(new Version("0.0"), key.getVersion());
}
public void testDeserializeTooFewPartsI() {
try {
ArtifactKey.parse("");
fail();
} catch (IllegalArgumentException e) {
assertTrue(true);
}
}
public void testDeserializeTooManyPartsI() {
try {
ArtifactKey.parse(",,,,");
fail();
} catch (IllegalArgumentException e) {
assertTrue(true);
}
}
public void testDeserializeTooFewPartsII() {
try {
ArtifactKey.parse("classifier");
fail();
} catch (IllegalArgumentException e) {
assertTrue(true);
}
}
}