/**\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
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