1 package test.propagation.impl; 2 3 import junit.framework.TestCase; 4 import propagation.PropagationManager; 5 import propagation.impl.PropagationManagerImpl; 6 7 public class PropagationManagerImplTest extends TestCase { 8 private PropagationManager pm_; 9 10 protected void setUp() throws Exception { 11 pm_ = new PropagationManagerImpl(); 12 13 pm_.setRootNode("Japan"); 14 15 pm_.addNode("Japan", "Tokyo"); 16 pm_.addNode("Japan.Tokyo", "WindSensor1"); 17 pm_.addStateItem("Japan.Tokyo.WindSensor1", 1000, "power supply", 1040); 18 pm_.addStateItem("Japan.Tokyo.WindSensor1", 1001, "sensor unit", 1040); 19 pm_.addStateItem("Japan.Tokyo.WindSensor1", 1002, "network card", 1040); 20 pm_.addNode("Japan.Tokyo", "RainSensor1"); 21 pm_.addStateItem("Japan.Tokyo.RainSensor1", 1003, "power supply", 1040); 22 pm_.addStateItem("Japan.Tokyo.RainSensor1", 1004, "sensor unit", 1040); 23 pm_.addStateItem("Japan.Tokyo.RainSensor1", 1005, "network card", 1030); 24 25 pm_.addNode("Japan", "Yokohama"); 26 pm_.addNode("Japan.Yokohama", "WindSensor2"); 27 pm_.addStateItem("Japan.Yokohama.WindSensor2", 1000, "power supply", 1040); 28 pm_.addStateItem("Japan.Yokohama.WindSensor2", 1001, "sensor unit", 1040); 29 pm_.addStateItem("Japan.Yokohama.WindSensor2", 1002, "network card", 1040); 30 pm_.addNode("Japan.Yokohama", "RainSensor2"); 31 pm_.addStateItem("Japan.Yokohama.RainSensor2", 1003, "power supply", 1040); 32 pm_.addStateItem("Japan.Yokohama.RainSensor2", 1004, "sensor unit", 1040); 33 pm_.addStateItem("Japan.Yokohama.RainSensor2", 1005, "network card", 1030); 34 35 pm_.addNode("Japan", "Osaka"); 36 pm_.addNode("Japan.Osaka", "WindSensor3"); 37 pm_.addStateItem("Japan.Osaka.WindSensor3", 1000, "power supply", 1040); 38 pm_.addStateItem("Japan.Osaka.WindSensor3", 1001, "sensor unit", 1040); 39 pm_.addStateItem("Japan.Osaka.WindSensor3", 1002, "network card", 1040); 40 pm_.addNode("Japan.Osaka", "RainSensor3"); 41 pm_.addStateItem("Japan.Osaka.RainSensor3", 1003, "power supply", 1040); 42 pm_.addStateItem("Japan.Osaka.RainSensor3", 1004, "sensor unit", 1040); 43 pm_.addStateItem("Japan.Osaka.RainSensor3", 1005, "network card", 1030); 44 45 pm_.createNode("WindSummary", "WindSummary"); 46 pm_.setUpperNode("WindSummary", "Japan.Tokyo.WindSensor1"); 47 pm_.setUpperNode("WindSummary", "Japan.Yokohama.WindSensor2"); 48 pm_.setUpperNode("WindSummary", "Japan.Osaka.WindSensor3"); 49 pm_.createNode("RainSummary", "RainSummary"); 50 pm_.setUpperNode("RainSummary", "Japan.Tokyo.RainSensor1"); 51 pm_.setUpperNode("RainSummary", "Japan.Yokohama.RainSensor2"); 52 pm_.setUpperNode("RainSummary", "Japan.Osaka.RainSensor3"); 53 } 54 55 public void testPropagation() { 56 printStatus("Initial state"); 57 58 pm_.stateChange("Japan.Tokyo.RainSensor1", 1005, 1031); 59 printStatus("Japan.Tokyo.RainSensor1:1005 1030->1031"); 60 61 pm_.stateChange("Japan.Yokohama.WindSensor2", 1001, 1041); 62 printStatus("Japan.Yokohama.WindSensor2:1001 1040->1041"); 63 64 pm_.stateChange("Japan.Osaka.RainSensor3", 1003, 1041); 65 printStatus("Japan.Osaka.RainSensor3:1003 1040->1041"); 66 67 pm_.stateChange("Japan.Yokohama.WindSensor2", 1001, 1040); 68 printStatus("Japan.Yokohama.WindSensor2:1001 1041->1040"); 69 70 pm_.stateChange("Japan.Osaka.RainSensor3", 1003, 1040); 71 printStatus("Japan.Osaka.RainSensor3:1003 1041->1040"); 72 73 pm_.stateChange("Japan.Tokyo.RainSensor1", 1005, 1030); 74 printStatus("Japan.Tokyo.RainSensor1:1005 1031->1030"); 75 76 } 77 78 private void printStatus(String msg) { 79 System.out.println("\n\n"); 80 System.out.println("---------------------------------------------"); 81 System.out.println(msg); 82 System.out.println("---------------------------------------------"); 83 pm_.printNodes(); 84 System.out.println("--------------------"); 85 pm_.printNodes("WindSummary"); 86 System.out.println("--------------------"); 87 pm_.printNodes("RainSummary"); 88 } 89 90 public static void main(String [] args) throws Exception { 91 PropagationManagerImplTest pmTest = new PropagationManagerImplTest(); 92 pmTest.setUp(); 93 pmTest.testPropagation(); 94 } 95 } 96 | Popular Tags |