import static org.junit.Assert.fail;
import java.net.URI;
-import java.util.Date;
+import java.net.URISyntaxException;
import org.junit.Test;
public class QNameTest {
- private final String namespace = "urn:foo", revision = "2013-12-24", localName = "bar";
- private final URI ns;
-
- public QNameTest() throws Exception {
- this.ns = new URI(namespace);
- }
+ private static final String NAMESPACE = "urn:foo";
+ private static final String REVISION = "2013-12-24";
+ private static final String LOCALNAME = "bar";
+ private static final URI NS = URI.create(NAMESPACE);
@Test
public void testStringSerialization() throws Exception {
{
- QName qName = QName.create(namespace, revision, localName);
- assertEquals(QName.QNAME_LEFT_PARENTHESIS + namespace + QName.QNAME_REVISION_DELIMITER
- + revision + QName.QNAME_RIGHT_PARENTHESIS + localName, qName.toString());
- QName copied = QName.create(qName.toString());
- assertEquals(qName, copied);
+ QName qname = QName.create(NAMESPACE, REVISION, LOCALNAME);
+ assertEquals(QName.QNAME_LEFT_PARENTHESIS + NAMESPACE + QName.QNAME_REVISION_DELIMITER
+ + REVISION + QName.QNAME_RIGHT_PARENTHESIS + LOCALNAME, qname.toString());
+ QName copied = QName.create(qname.toString());
+ assertEquals(qname, copied);
}
// no revision
{
- QName qName = new QName(ns, localName);
- assertEquals(QName.QNAME_LEFT_PARENTHESIS + namespace + QName.QNAME_RIGHT_PARENTHESIS
- + localName, qName.toString());
- QName copied = QName.create(qName.toString());
- assertEquals(qName, copied);
- }
- // no namespace nor revision
- {
- QName qName = new QName((URI) null, localName);
- assertEquals(localName, qName.toString());
- QName copied = QName.create(qName.toString());
- assertEquals(qName, copied);
+ QName qname = QName.create(NS, LOCALNAME);
+ assertEquals(QName.QNAME_LEFT_PARENTHESIS + NAMESPACE + QName.QNAME_RIGHT_PARENTHESIS
+ + LOCALNAME, qname.toString());
+ QName copied = QName.create(qname.toString());
+ assertEquals(qname, copied);
}
}
@Test
public void testCompareTo() throws Exception {
- String A = "a";
- String B = "b";
-
- QName a = QName.create(A);
- QName b = QName.create(A);
- assertTrue(a.compareTo(b) == 0);
- assertTrue(b.compareTo(a) == 0);
-
- // compare with localName
- a = QName.create(A);
- b = QName.create(B);
- assertTrue(a.compareTo(b) < 0);
- assertTrue(b.compareTo(a) > 0);
+ final String A = "a";
+ final String B = "b";
// compare with namespace
- a = QName.create(A, revision, A);
- b = QName.create(B, revision, A);
- assertTrue(a.compareTo(b) < 0);
- assertTrue(b.compareTo(a) > 0);
-
- // compare with 1 null namespace
- a = QName.create(null, QName.parseRevision(revision), A);
- b = QName.create(URI.create(A), QName.parseRevision(revision), A);
- assertTrue(a.compareTo(b) < 0);
- assertTrue(b.compareTo(a) > 0);
-
- // compare with both null namespace
- b = QName.create(null, QName.parseRevision(revision), A);
- assertTrue(a.compareTo(b) == 0);
- assertTrue(b.compareTo(a) == 0);
+ QName qa = QName.create(A, REVISION, A);
+ QName qb = QName.create(B, REVISION, A);
+ assertTrue(qa.compareTo(qb) < 0);
+ assertTrue(qb.compareTo(qa) > 0);
// compare with revision
- a = QName.create(A, "2013-12-24", A);
- b = QName.create(A, "2013-12-25", A);
- assertTrue(a.compareTo(b) < 0);
- assertTrue(b.compareTo(a) > 0);
+ qa = QName.create(A, "2013-12-24", A);
+ qb = QName.create(A, "2013-12-25", A);
+ assertTrue(qa.compareTo(qb) < 0);
+ assertTrue(qb.compareTo(qa) > 0);
// compare with 1 null revision
- a = QName.create(URI.create(A), null, A);
- b = QName.create(URI.create(A), QName.parseRevision(revision), A);
- assertTrue(a.compareTo(b) < 0);
- assertTrue(b.compareTo(a) > 0);
+ qa = QName.create(URI.create(A), A);
+ qb = QName.create(URI.create(A), Revision.of(REVISION), A);
+ assertTrue(qa.compareTo(qb) < 0);
+ assertTrue(qb.compareTo(qa) > 0);
// compare with both null revision
- b = QName.create(URI.create(A), null, A);
- assertTrue(a.compareTo(b) == 0);
- assertTrue(b.compareTo(a) == 0);
+ qb = QName.create(URI.create(A), A);
+ assertTrue(qa.compareTo(qb) == 0);
+ assertTrue(qb.compareTo(qa) == 0);
}
@Test
public void testQName() {
- final QName qName = QName.create(namespace, revision, localName);
- final QName qName1 = QName.create(namespace, localName);
- final QName qName2 = QName.create(qName1, localName);
- assertEquals(qName1, qName.withoutRevision());
- assertEquals(qName1, qName2);
- assertTrue(qName.isEqualWithoutRevision(qName1));
- assertNotNull(QName.formattedRevision(new Date()));
- assertNotNull(qName.hashCode());
- assertEquals(qName, qName.intern());
+ final QName qname = QName.create(NAMESPACE, REVISION, LOCALNAME);
+ final QName qname1 = QName.create(NAMESPACE, LOCALNAME);
+ final QName qname2 = QName.create(qname1, LOCALNAME);
+ assertEquals(qname1, qname.withoutRevision());
+ assertEquals(qname1, qname2);
+ assertTrue(qname.isEqualWithoutRevision(qname1));
+ assertNotNull(QName.formattedRevision(Revision.ofNullable("2000-01-01")));
+ assertNotNull(qname.hashCode());
+ assertEquals(qname, qname.intern());
}
@Test
- public void testQNameModule() {
- final QNameModule qNameModule = QNameModule.create(ns, new Date());
- assertNotNull(qNameModule.toString());
- assertNotNull(qNameModule.getRevisionNamespace());
+ public void testQNameModule() throws URISyntaxException {
+ final QNameModule qnameModule = QNameModule.create(NS, Revision.of("2000-01-01"));
+ assertNotNull(qnameModule.toString());
+ assertNotNull(qnameModule.getRevisionNamespace());
}
- private void assertLocalNameFails(final String localName) {
+ private static void assertLocalNameFails(final String localName) {
try {
- new QName((URI)null, localName);
+ QName.create(NS, localName);
fail("Local name should fail:" + localName);
} catch (IllegalArgumentException e) {
+ // Expected
}
}
-}
\ No newline at end of file
+}