1 32 33 package com.jeantessier.dependency; 34 35 import junit.framework.*; 36 37 public class TestClassNode extends TestCase { 38 private NodeFactory factory; 39 private ClassNode node; 40 41 protected void setUp() throws Exception { 42 factory = new NodeFactory(); 43 } 44 45 public void testSwitchClassNodeFromReferencedToConcrete() { 46 node = factory.createClass("a.A", false); 47 48 assertFalse("Not referenced", node.getPackageNode().isConfirmed()); 49 assertFalse("Not referenced", node.isConfirmed()); 50 node.setConfirmed(true); 51 assertTrue("Not concrete", node.getPackageNode().isConfirmed()); 52 assertTrue("Not concrete", node.isConfirmed()); 53 } 54 55 public void testSwitchOneClassNodeOutOfTwoFromReferencedToConcrete() { 56 node = factory.createClass("a.A", false); 57 factory.createClass("a.B", false); 58 59 assertFalse("Not referenced", node.getPackageNode().isConfirmed()); 60 assertFalse("Not referenced", node.isConfirmed()); 61 node.setConfirmed(true); 62 assertTrue("Not concrete", node.getPackageNode().isConfirmed()); 63 assertTrue("Not concrete", node.isConfirmed()); 64 } 65 66 public void testMakingClassNodeConcreteDoesNotChangeItsFeatures() { 67 node = factory.createClass("a.A", false); 68 factory.createFeature("a.A.a", false); 69 70 assertFalse("Not referenced", node.getPackageNode().isConfirmed()); 71 assertFalse("Not referenced", node.isConfirmed()); 72 assertFalse("Not referenced", ((Node) node.getFeatures().iterator().next()).isConfirmed()); 73 node.setConfirmed(true); 74 assertTrue("Not concrete", node.getPackageNode().isConfirmed()); 75 assertTrue("Not concrete", node.isConfirmed()); 76 assertFalse("Not referenced", ((Node) node.getFeatures().iterator().next()).isConfirmed()); 77 } 78 79 public void testSwitchEmptyClassNodeFromConcreteToReferenced() { 80 node = factory.createClass("a.A", true); 81 82 assertTrue("Not concrete", node.getPackageNode().isConfirmed()); 83 assertTrue("Not concrete", node.isConfirmed()); 84 node.setConfirmed(false); 85 assertFalse("Not referenced", node.getPackageNode().isConfirmed()); 86 assertFalse("Not referenced", node.isConfirmed()); 87 } 88 89 public void testSwitchOneClassNodeOutOfTwoFromConcreteToReferenced() { 90 node = factory.createClass("a.A", true); 91 factory.createClass("a.B", true); 92 93 assertTrue("Not concrete", node.getPackageNode().isConfirmed()); 94 assertTrue("Not concrete", node.isConfirmed()); 95 node.setConfirmed(false); 96 assertTrue("Not concrete", node.getPackageNode().isConfirmed()); 97 assertFalse("Not referenced", node.isConfirmed()); 98 } 99 100 public void testSwitchClassNodeWithConcreteFeatureFromConcreteToReferenced() { 101 node = factory.createClass("a.A", true); 102 factory.createFeature("a.A.a", true); 103 104 assertTrue("Not concrete", node.getPackageNode().isConfirmed()); 105 assertTrue("Not concrete", node.isConfirmed()); 106 assertTrue("Not concrete", ((Node) node.getFeatures().iterator().next()).isConfirmed()); 107 node.setConfirmed(false); 108 assertFalse("Not referenced", node.getPackageNode().isConfirmed()); 109 assertFalse("Not referenced", node.isConfirmed()); 110 assertFalse("Not referenced", ((Node) node.getFeatures().iterator().next()).isConfirmed()); 111 } 112 113 public void testSwitchClassNodeWithReferencedClassFromConcreteToReferenced() { 114 node = factory.createClass("a.A", true); 115 factory.createFeature("a.A.a", false); 116 117 assertTrue("Not concrete", node.getPackageNode().isConfirmed()); 118 assertTrue("Not concrete", node.isConfirmed()); 119 assertFalse("Not referenced", ((Node) node.getFeatures().iterator().next()).isConfirmed()); 120 node.setConfirmed(false); 121 assertFalse("Not referenced", node.getPackageNode().isConfirmed()); 122 assertFalse("Not referenced", node.isConfirmed()); 123 assertFalse("Not referenced", ((Node) node.getFeatures().iterator().next()).isConfirmed()); 124 } 125 } 126 | Popular Tags |