1 package org.sapia.regis.cache; 2 3 import org.sapia.regis.Property; 4 import org.sapia.regis.Node; 5 import org.sapia.regis.RWNode; 6 import org.sapia.regis.impl.NodeImpl; 7 import org.sapia.regis.local.LocalRegistry; 8 9 import junit.framework.TestCase; 10 11 public class CacheNodeTest extends TestCase { 12 13 LocalRegistry wrapped; 14 CacheRegistry cacheReg; 15 16 public CacheNodeTest(String arg0) { 17 super(arg0); 18 } 19 20 protected void setUp() throws Exception { 21 wrapped = new LocalRegistry(); 22 RWNode child1 = (RWNode)((RWNode)wrapped.getRoot()).createChild("child1"); 23 child1.setProperty("prop1", "val1"); 24 RWNode link = new NodeImpl(null, "link"); 25 child1.appendLink(link); 26 child1.prependLink(link); 27 RWNode child2 = (RWNode)((RWNode)wrapped.getRoot().getChild("child1")).createChild("child2"); 28 child2.setProperty("prop2", "100"); 29 child2.setInheritsParent(true); 30 cacheReg = new CacheRegistry(wrapped, 500); 31 } 32 33 public void testGetNodes() { 34 Node child1 = cacheReg.getRoot().getChild("child1"); 35 super.assertTrue(child1 instanceof CacheNode); 36 37 Node child2 = child1.getChild("child2"); 38 super.assertTrue(child2 instanceof CacheNode); 39 40 Node parent = child2.getParent(); 41 super.assertTrue(parent instanceof CacheNode); 42 43 } 44 45 public void testChildren(){ 46 Node child1 = cacheReg.getRoot().getChild("child1"); 47 super.assertTrue(child1.getChildren().iterator().next() instanceof CacheNode); 48 } 49 50 public void testGetLinks(){ 51 Node child1 = cacheReg.getRoot().getChild("child1"); 52 super.assertTrue(child1.getLinks(true).iterator().next() instanceof CacheNode); 53 super.assertTrue(child1.getLinks(false).iterator().next() instanceof CacheNode); 54 } 55 56 public void testGetProperty(){ 57 Node child1 = cacheReg.getRoot().getChild("child1"); 58 super.assertEquals("val1", child1.getProperty("prop1").asString()); 59 60 Node child2 = child1.getChild("child2"); 61 super.assertEquals("val1", child2.getProperty("prop1").asString()); 62 super.assertEquals(100, child2.getProperty("prop2").asInt()); 63 } 64 65 public void testRefresh() throws InterruptedException { 66 NodeImpl child1 =(NodeImpl)wrapped.getRoot().getChild("child1"); 67 Node child2 = cacheReg.getRoot().getChild("child1").getChild("child2"); 68 Property prop = child2.getProperty("prop1"); 69 super.assertEquals("val1", prop.asString()); 70 Thread.sleep(1000); 71 child1.setProperty("prop1", "val2"); 72 child1.setVersion(child1.getVersion()+1); 73 super.assertEquals("val2", prop.asString()); 74 } 75 76 } 77 | Popular Tags |