KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > archie > ArchieTest


1 package org.sapia.archie;
2
3 import junit.framework.TestCase;
4
5 import org.sapia.archie.impl.DefaultNode;
6
7
8 /**
9  * @author Yanick Duchesne
10  *
11  * <dl>
12  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
13  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
14  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
15  * </dl>
16  */

17 public class ArchieTest extends TestCase{
18   
19   public ArchieTest(String JavaDoc name){
20     super(name);
21   }
22   public void testBind() throws Exception JavaDoc {
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 JavaDoc("Duplicate binding should not have been authorized");
28     }catch(DuplicateException e){
29       //ok;
30
}
31   }
32   public void testRebind() throws Exception JavaDoc {
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 JavaDoc{
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 JavaDoc{
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 JavaDoc{
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 JavaDoc{
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 JavaDoc{
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 JavaDoc("Object not unbound");
77     }catch(NotFoundException e){
78       // ok
79
}
80   }
81   
82   
83 }
84
Popular Tags