1 package org.sapia.archie.impl; 2 3 import org.sapia.archie.Name; 4 5 import junit.framework.TestCase; 6 7 15 public class AttributeNameParserTest extends TestCase{ 16 17 public AttributeNameParserTest(String name){ 18 super(name); 19 } 20 21 public void testParseName() throws Exception { 22 String name = "/some/object/name?attr1=value1&attr2=value2"; 23 AttributeNameParser p = new AttributeNameParser(); 24 Name n = p.parse(name); 25 doCheckName(n); 26 super.assertTrue(p.asString(n).startsWith("/some/object")); 27 } 28 29 public void testParseNamePart() throws Exception { 30 String name = "name?attr1=value1&attr2=value2"; 31 AttributeNameParser p = new AttributeNameParser(); 32 AttributeNamePart np = (AttributeNamePart)p.parseNamePart(name); 33 super.assertEquals("name", np.getName()); 34 super.assertEquals("value1", np.getAttributes().getProperty("attr1")); 35 super.assertEquals("value2", np.getAttributes().getProperty("attr2")); 36 } 37 38 public void testAsString() throws Exception { 39 String name = "/some/object/name?attr1=value1&attr2=value2"; 40 AttributeNameParser p = new AttributeNameParser(); 41 Name n = p.parse(name); 42 name = p.asString(n); 43 n = p.parse(name); 44 doCheckName(n); 45 } 46 47 private void doCheckName(Name n) throws Exception { 48 AttributeNamePart pn; 49 for(int i = 0; i < n.count() ; i++){ 50 pn = (AttributeNamePart)n.get(i); 51 if(i == 0){ 52 super.assertEquals("", pn.asString()); 53 } 54 else if(i == 1){ 55 super.assertEquals("some", pn.asString()); 56 } 57 else if(i == 2){ 58 super.assertEquals("object", pn.asString()); 59 } 60 else if(i == 3){ 61 super.assertEquals("value1", pn.getAttributes().getProperty("attr1")); 62 super.assertEquals("value2", pn.getAttributes().getProperty("attr2")); 63 super.assertEquals("name", pn.getName()); 64 } 65 } 66 67 } 68 69 } 70 | Popular Tags |