]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-5301,CSPACE-5073: Added two unit test cases for refNamedisplay names containin...
authorAron Roberts <aron@socrates.berkeley.edu>
Tue, 5 Jun 2012 15:42:14 +0000 (08:42 -0700)
committerAron Roberts <aron@socrates.berkeley.edu>
Tue, 5 Jun 2012 15:42:14 +0000 (08:42 -0700)
services/common-api/src/main/java/org/collectionspace/services/common/api/RefName.java
services/common-api/src/test/java/org/collectionspace/services/common/api/test/RefNameTest.java

index 9ee6b773ebdcf2d2723ae7b0bb72c99a3262a86b..5473dd35afce614ddc0045b989b84b5618e3592c 100644 (file)
@@ -51,17 +51,6 @@ public class RefName {
     public static final String URN_PREFIX = "urn:cspace:";\r
     public static final String URN_NAME_PREFIX = "urn:cspace:name";\r
     public static final String REFNAME = "refName";\r
-    // public static final String AUTHORITY_REGEX = "urn:cspace:(.*):(.*):name\\((.*)\\)\\'?([^\\']*)\\'?";\r
-    // public static final String AUTHORITY_ITEM_REGEX = "urn:cspace:(.*):(.*):name\\((.*)\\):item:name\\((.*)\\)\\'?([^\\']*)\\'";\r
-    public static final String AUTHORITY_EXAMPLE = "urn:cspace:collectionspace.org:Loansin:name(shortID)'displayName'";\r
-    public static final String AUTHORITY_EXAMPLE2 = "urn:cspace:collectionspace.org:Loansin:name(shortID)";\r
-    public static final String AUTHORITY_ITEM_EXAMPLE = "urn:cspace:collectionspace.org:Loansin:name(shortID):item:name(itemShortID)'itemDisplayName'";\r
-    public static final String EX_tenantName = "collectionspace.org";\r
-    public static final String EX_resource = "Loansin";\r
-    public static final String EX_shortIdentifier = "shortID";\r
-    public static final String EX_displayName = "displayName";\r
-    public static final String EX_itemShortIdentifier = "itemShortID";\r
-    public static final String EX_itemDisplayName = "itemDisplayName";\r
 \r
     public static class Authority {\r
 \r
index f6a91344bdf88d33cb6b88c2e2ba22764dad5fed..f98e2064c546b003bc8cbc604d02b26e39091d13 100644 (file)
@@ -1,24 +1,23 @@
 /**\r
- * This document is a part of the source code and related artifacts\r
- * for CollectionSpace, an open source collections management system\r
- * for museums and related institutions:\r
+ * This document is a part of the source code and related artifacts for\r
+ * CollectionSpace, an open source collections management system for museums and\r
+ * related institutions:\r
  *\r
- * http://www.collectionspace.org\r
- * http://wiki.collectionspace.org\r
+ * http://www.collectionspace.org http://wiki.collectionspace.org\r
  *\r
  * Copyright (c) 2009 Regents of the University of California\r
  *\r
- * Licensed under the Educational Community License (ECL), Version 2.0.\r
- * You may not use this file except in compliance with this License.\r
+ * Licensed under the Educational Community License (ECL), Version 2.0. You may\r
+ * not use this file except in compliance with this License.\r
  *\r
  * You may obtain a copy of the ECL 2.0 License at\r
  * https://source.collectionspace.org/collection-space/LICENSE.txt\r
  *\r
- *  Unless required by applicable law or agreed to in writing, software\r
- *  distributed under the License is distributed on an "AS IS" BASIS,\r
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- *  See the License for the specific language governing permissions and\r
- *  limitations under the License.\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT\r
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\r
+ * License for the specific language governing permissions and limitations under\r
+ * the License.\r
  */\r
 package org.collectionspace.services.common.api.test;\r
 \r
@@ -27,89 +26,130 @@ import org.testng.Assert;
 import org.testng.annotations.Test;\r
 \r
 /**\r
- * User: laramie\r
- * $LastChangedRevision:  $\r
- * $LastChangedDate:  $\r
+ * User: laramie $LastChangedRevision: $ $LastChangedDate: $\r
  */\r
- public class RefNameTest {\r
+public class RefNameTest {\r
 \r
-    private void testBanner(String msg){\r
-        String BANNER ="-------------------------------------------------------";\r
-        System.out.println(BANNER+"\r\n"+this.getClass().getName()+"\r\n"+msg+"\r\n"+BANNER);\r
+    public static final String AUTHORITY_EXAMPLE = "urn:cspace:collectionspace.org:Loansin:name(shortID)'displayName'";\r
+    public static final String AUTHORITY_EXAMPLE2 = "urn:cspace:collectionspace.org:Loansin:name(shortID)";\r
+    public static final String AUTHORITY_ITEM_EXAMPLE = "urn:cspace:collectionspace.org:Loansin:name(shortID):item:name(itemShortID)'itemDisplayName'";\r
+    public static final String EX_tenantName = "collectionspace.org";\r
+    public static final String EX_resource = "Loansin";\r
+    public static final String EX_shortIdentifier = "shortID";\r
+    public static final String EX_displayName = "displayName";\r
+    public static final String EX_itemShortIdentifier = "itemShortID";\r
+    public static final String EX_itemDisplayName = "itemDisplayName";\r
+    public static final String EX_itemDisplayNameContainsColon = "itemDisplayName:itemDisplayName2:itemDisplayName3";\r
+    public static final String EX_itemDisplayNameContainsParens = "itemDisplayName (in parens) and more";\r
+    \r
+\r
+    private void testBanner(String msg) {\r
+        String BANNER = "-------------------------------------------------------";\r
+        System.out.println(BANNER + "\r\n" + this.getClass().getName() + "\r\n" + msg + "\r\n" + BANNER);\r
     }\r
 \r
-    private void check(String one, String two, String msg){\r
-        if (one == null || two == null || !(one.equals(two)) ){\r
-            System.out.println("equals check FAILED. (msg: "+msg+")\r\none: "+one+"\r\ntwo: "+two+"\r\n");\r
+    private void check(String one, String two, String msg) {\r
+        if (one == null || two == null || !(one.equals(two)){\r
+            System.out.println("equals check FAILED. (msg: " + msg + ")\r\none: " + one + "\r\ntwo: " + two + "\r\n");\r
         } else {\r
-            System.out.println("equals check OK. (msg: "+msg+")\r\none: "+one+"\r\ntwo: "+two+"\r\n");\r
+            System.out.println("equals check OK. (msg: " + msg + ")\r\none: " + one + "\r\ntwo: " + two + "\r\n");\r
         }\r
         Assert.assertEquals(one, two, msg);\r
     }\r
 \r
     @Test\r
-    public void testRoundTrip(){\r
+    public void testRoundTrip() {\r
         testBanner("testRoundTrip");\r
-        RefName.AuthorityItem item = RefName.AuthorityItem.parse(RefName.AUTHORITY_ITEM_EXAMPLE);\r
-        check(item.displayName,     RefName.EX_itemDisplayName, "EX_itemDisplayName");\r
-        check(item.shortIdentifier, RefName.EX_itemShortIdentifier, "EX_itemShortIdentifier");\r
-        check(item.toString(),      RefName.AUTHORITY_ITEM_EXAMPLE, "AUTHORITY_ITEM_EXAMPLE");\r
-        check(item.inAuthority.displayName,    "", "displayName from inAuthority should be empty");\r
-\r
-        RefName.Authority authority = RefName.Authority.parse(RefName.AUTHORITY_EXAMPLE);\r
-        check(authority.toString(),     RefName.AUTHORITY_EXAMPLE, "AUTHORITY_ITEM_EXAMPLE");\r
-        check(authority.tenantName,     RefName.EX_tenantName, "EX_tenantName");\r
-        check(authority.resource,       RefName.EX_resource, "EX_resource");\r
-        check(authority.displayName,    RefName.EX_displayName, "EX_displayName");\r
-        check(authority.shortIdentifier,RefName.EX_shortIdentifier, "EX_shortIdentifier");\r
+        RefName.AuthorityItem item = RefName.AuthorityItem.parse(AUTHORITY_ITEM_EXAMPLE);\r
+        check(item.displayName, EX_itemDisplayName, "EX_itemDisplayName");\r
+        check(item.shortIdentifier, EX_itemShortIdentifier, "EX_itemShortIdentifier");\r
+        check(item.toString(), AUTHORITY_ITEM_EXAMPLE, "AUTHORITY_ITEM_EXAMPLE");\r
+        check(item.inAuthority.displayName, "", "displayName from inAuthority should be empty");\r
+\r
+        RefName.Authority authority = RefName.Authority.parse(AUTHORITY_EXAMPLE);\r
+        check(authority.toString(), AUTHORITY_EXAMPLE, "AUTHORITY_ITEM_EXAMPLE");\r
+        check(authority.tenantName, EX_tenantName, "EX_tenantName");\r
+        check(authority.resource, EX_resource, "EX_resource");\r
+        check(authority.displayName, EX_displayName, "EX_displayName");\r
+        check(authority.shortIdentifier, EX_shortIdentifier, "EX_shortIdentifier");\r
 \r
         Assert.assertEquals(authority, item.inAuthority, "inAuthority from AuthorityItem.parse() matches Authority from Authority.parse()");\r
     }\r
 \r
     @Test\r
-    public void testConstructors(){\r
+    public void testConstructors() {\r
         testBanner("testConstructors");\r
-        RefName.AuthorityItem item = RefName.buildAuthorityItem(RefName.AUTHORITY_EXAMPLE2,\r
-                                                                RefName.EX_itemShortIdentifier,\r
-                                                                RefName.EX_itemDisplayName);\r
-        RefName.AuthorityItem itemParsed = RefName.AuthorityItem.parse(RefName.AUTHORITY_ITEM_EXAMPLE);\r
+        RefName.AuthorityItem item = RefName.buildAuthorityItem(AUTHORITY_EXAMPLE2,\r
+                EX_itemShortIdentifier,\r
+                EX_itemDisplayName);\r
+        RefName.AuthorityItem itemParsed = RefName.AuthorityItem.parse(AUTHORITY_ITEM_EXAMPLE);\r
         check(item.toString(), itemParsed.toString(), "buildAuthorityItem from AUTHORITY_EXAMPLE2 vs. parse(AUTHORITY_ITEM_EXAMPLE)");\r
         Assert.assertEquals(item, itemParsed);\r
 \r
 \r
 \r
-        RefName.Authority authority2 = RefName.Authority.parse(RefName.AUTHORITY_EXAMPLE2);\r
+        RefName.Authority authority2 = RefName.Authority.parse(AUTHORITY_EXAMPLE2);\r
         RefName.AuthorityItem item3 = RefName.buildAuthorityItem(authority2,\r
-                                                                RefName.EX_itemShortIdentifier,\r
-                                                                RefName.EX_itemDisplayName);\r
+                EX_itemShortIdentifier,\r
+                EX_itemDisplayName);\r
         check(item.toString(), item3.toString(), "buildAuthorityItem(Authority,str,str) from AUTHORITY_EXAMPLE2 vs. AUTHORITY_ITEM_EXAMPLE");\r
         Assert.assertEquals(item, item3);\r
     }\r
-    \r
+\r
     /**\r
-     * Test convenience getters that return short identifiers for authorities and authority items.\r
+     * Test convenience getters that return short identifiers for authorities\r
+     * and authority items.\r
      */\r
     @Test\r
-    public void testShortIDGetters(){\r
+    public void testShortIDGetters() {\r
         testBanner("testShortIDGetters");\r
-        RefName.Authority authority = RefName.Authority.parse(RefName.AUTHORITY_EXAMPLE);\r
-        Assert.assertEquals(authority.getShortIdentifier(), RefName.EX_shortIdentifier,\r
+        RefName.Authority authority = RefName.Authority.parse(AUTHORITY_EXAMPLE);\r
+        Assert.assertEquals(authority.getShortIdentifier(), EX_shortIdentifier,\r
                 "Short identifier from parsing parent authority refName does not match value of Authority.getShortIdentifier().");\r
-        \r
-        RefName.AuthorityItem item = RefName.buildAuthorityItem(RefName.AUTHORITY_EXAMPLE,\r
-                                                                RefName.EX_itemShortIdentifier,\r
-                                                                RefName.EX_itemDisplayName);\r
-        Assert.assertEquals(item.getParentShortIdentifier(), RefName.EX_shortIdentifier,\r
-              "Parent short identifier from parsing authority refName does not match value of AuthorityItem.getParentShortIdentifier().");\r
-        Assert.assertEquals(item.getShortIdentifier(), RefName.EX_itemShortIdentifier,\r
-              "Short identifier from item does not match value of AuthorityItem.getShortIdentifier().");\r
-        \r
-        RefName.AuthorityItem parsedItem = RefName.AuthorityItem.parse(RefName.AUTHORITY_ITEM_EXAMPLE);\r
-        Assert.assertEquals(parsedItem.getParentShortIdentifier(), RefName.EX_shortIdentifier,\r
-              "Parent short identifier from parsing item refName does not match value of AuthorityItem.getParentShortIdentifier().");\r
-        Assert.assertEquals(parsedItem.getShortIdentifier(), RefName.EX_itemShortIdentifier,\r
-              "Short identifier from parsing item refName does not match value of AuthorityItem.getShortIdentifier().");\r
+\r
+        RefName.AuthorityItem item = RefName.buildAuthorityItem(AUTHORITY_EXAMPLE,\r
+                EX_itemShortIdentifier,\r
+                EX_itemDisplayName);\r
+        Assert.assertEquals(item.getParentShortIdentifier(), EX_shortIdentifier,\r
+                "Parent short identifier from parsing authority refName does not match value of AuthorityItem.getParentShortIdentifier().");\r
+        Assert.assertEquals(item.getShortIdentifier(), EX_itemShortIdentifier,\r
+                "Short identifier from item does not match value of AuthorityItem.getShortIdentifier().");\r
+\r
+        RefName.AuthorityItem parsedItem = RefName.AuthorityItem.parse(AUTHORITY_ITEM_EXAMPLE);\r
+        Assert.assertEquals(parsedItem.getParentShortIdentifier(), EX_shortIdentifier,\r
+                "Parent short identifier from parsing item refName does not match value of AuthorityItem.getParentShortIdentifier().");\r
+        Assert.assertEquals(parsedItem.getShortIdentifier(), EX_itemShortIdentifier,\r
+                "Short identifier from parsing item refName does not match value of AuthorityItem.getShortIdentifier().");\r
 \r
     }\r
 \r
+    /**\r
+     * Test display names containing characters which are also used as separators in refNames.\r
+     */\r
+    @Test\r
+    public void testSeparatorsInDisplayNames() {\r
+        testBanner("testSeparatorsInDisplayNames");\r
+        \r
+        RefName.AuthorityItem itemDisplayNameContainsColon =\r
+                RefName.buildAuthorityItem(AUTHORITY_EXAMPLE2,\r
+                EX_itemShortIdentifier,\r
+                EX_itemDisplayNameContainsColon);\r
+        Assert.assertEquals(itemDisplayNameContainsColon.getShortIdentifier(), EX_itemShortIdentifier,\r
+                "Short identifier from item " + itemDisplayNameContainsColon.getShortIdentifier()\r
+                + "does not match expected value " + EX_itemShortIdentifier);\r
+        Assert.assertEquals(itemDisplayNameContainsColon.displayName, EX_itemDisplayNameContainsColon,\r
+                "Short identifier from item " + itemDisplayNameContainsColon.displayName\r
+                + "does not match expected value " + EX_itemDisplayNameContainsColon);\r
+        \r
+        RefName.AuthorityItem itemDisplayNameContainsParens =\r
+                RefName.buildAuthorityItem(AUTHORITY_EXAMPLE2,\r
+                EX_itemShortIdentifier,\r
+                EX_itemDisplayNameContainsParens);\r
+        Assert.assertEquals(itemDisplayNameContainsParens.getShortIdentifier(), EX_itemShortIdentifier,\r
+                "Short identifier from item " + itemDisplayNameContainsParens.getShortIdentifier()\r
+                + "does not match expected value " + EX_itemShortIdentifier);\r
+        Assert.assertEquals(itemDisplayNameContainsParens.displayName, EX_itemDisplayNameContainsParens,\r
+                "Short identifier from item " + itemDisplayNameContainsParens.displayName\r
+                + "does not match expected value " + EX_itemDisplayNameContainsParens);\r
+    }\r
 }\r