1 package org.sapia.archie; 2 3 import junit.framework.TestCase; 4 5 import org.sapia.archie.impl.DefaultNode; 6 7 8 17 public class ArchieTest extends TestCase{ 18 19 public ArchieTest(String name){ 20 super(name); 21 } 22 public void testBind() throws Exception { 23 Archie arch = new Archie(new DefaultNode()); 24 arch.bind(arch.getNameParser().parse("name"), "value"); 25 try{ 26 arch.bind(arch.getNameParser().parse("name"), "value2"); 27 throw new Exception ("Duplicate binding should not have been authorized"); 28 }catch(DuplicateException e){ 29 } 31 } 32 public void testRebind() throws Exception { 33 Archie arch = new Archie(new DefaultNode()); 34 arch.bind(arch.getNameParser().parse("name"), "value"); 35 arch.rebind(arch.getNameParser().parse("name"), "value2"); 36 } 37 38 public void testLookup() throws Exception { 39 Archie arch = new Archie(new DefaultNode()); 40 Name n; 41 arch.bind(n = arch.getNameParser().parse("name"), "value"); 42 super.assertEquals(arch.lookup(n), "value"); 43 arch.rebind(n, "value2"); 44 super.assertEquals(arch.lookup(n), "value2"); 45 } 46 47 public void testLookupRootNode() throws Exception { 48 Archie arch = new Archie(new DefaultNode()); 49 Node n = arch.lookupNode(arch.getNameParser().parse("/"), false); 50 super.assertTrue(n.getParent() == null); 51 } 52 53 public void testLookupComplexNode() throws Exception { 54 Archie arch = new Archie(new DefaultNode()); 55 Name n = arch.getNameParser().parse("path/to/object"); 56 arch.bind(n, "value"); 57 Node node = arch.lookupNode(arch.getNameParser().parse("path/to"), false); 58 } 59 60 public void testNodeNameAsString() throws Exception { 61 Archie arch = new Archie(new DefaultNode()); 62 Name n = arch.getNameParser().parse("path/to/object"); 63 arch.bind(n, "value"); 64 Node node = arch.lookupNode(arch.getNameParser().parse("path/to"), false); 65 super.assertTrue(arch.getNameParser().asString(node.getAbsolutePath()).startsWith("/path/to")); 66 } 67 68 public void testUnbind() throws Exception { 69 Archie arch = new Archie(new DefaultNode()); 70 Name n = arch.getNameParser().parse("path/to/object"); 71 arch.bind(n, "value"); 72 arch.lookup(n); 73 arch.unbind(n); 74 try{ 75 arch.lookup(n); 76 throw new Exception ("Object not unbound"); 77 }catch(NotFoundException e){ 78 } 80 } 81 82 83 } 84 | Popular Tags |