PraktikumHolonsTestClasses.java 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. package tests;
  2. import classes.*;
  3. import static org.junit.Assert.assertTrue;
  4. import java.awt.Color;
  5. import java.util.ArrayList;
  6. import org.junit.Test;
  7. /**
  8. * Test for the Classes.
  9. *
  10. * @author Gruppe14
  11. */
  12. public class PraktikumHolonsTestClasses {
  13. /**
  14. <<<<<<< HEAD
  15. * Tests for the Category Class.
  16. =======
  17. * Test for the Categories.
  18. >>>>>>> 90bc29b29bece3f981eca7b6bd629093b2c90382
  19. */
  20. @Test
  21. public void testCategory() {
  22. Category test1 = new Category("Test1");
  23. Category test2 = new Category("Test2");
  24. HolonObject obj1 = new HolonObject("Test Object");
  25. ArrayList<AbstractCpsObject> arr = new ArrayList<>();
  26. assertTrue("Name not correct", test1.getName().equals("Test1"));
  27. assertTrue("Name not correct", test2.getName().equals("Test2"));
  28. assertTrue("Name should not be the same", !test1.getName().equals(test2.getName()));
  29. assertTrue("Should be empty", test1.getObjects().size() == 0);
  30. test1.getObjects().add(obj1);
  31. assertTrue("Should not be empty", test1.getObjects().size() == 1);
  32. assertTrue("Should be empty", test2.getObjects().size() == 0);
  33. test1.setObjects(arr);
  34. assertTrue("Should be empty", test1.getObjects().size() == 0);
  35. arr.add(obj1);
  36. test2.setObjects(arr);
  37. arr = new ArrayList<>();
  38. assertTrue("Shoud be empty", arr.isEmpty());
  39. arr = test2.getObjects();
  40. assertTrue("Shoud not be empty", !arr.isEmpty());
  41. }
  42. /**
  43. <<<<<<< HEAD
  44. * Tests for the HolonObject Class.
  45. =======
  46. * Test for HolonObject.
  47. >>>>>>> 90bc29b29bece3f981eca7b6bd629093b2c90382
  48. */
  49. @Test
  50. public void testHolonObject() {
  51. HolonObject test1 = new HolonObject("Test1");
  52. HolonObject test2 = new HolonObject("Test2");
  53. HolonObject test3 = new HolonObject(test1);
  54. HolonElement ele = new HolonElement("Element", 1, 10);
  55. ArrayList<HolonElement> arr = new ArrayList<>();
  56. assertTrue("Should be Empty", test1.getElements().isEmpty());
  57. test1.setElements(arr);
  58. assertTrue("Should be Empty", test1.getElements().isEmpty());
  59. arr.add(ele);
  60. arr.add(ele);
  61. assertTrue("Should be Empty", test2.getElements().isEmpty());
  62. assertTrue("Current Energy not corrent", test2.getCurrentEnergy() == 0);
  63. test2.setElements(arr);
  64. assertTrue("Should not be Empty", !test2.getElements().isEmpty());
  65. assertTrue("Current Energy not corrent", test2.getCurrentEnergy() == 20);
  66. assertTrue("Current Energy not corrent", test2.getCurrentEnergyAtTimeStep(20) == 20);
  67. String str = test2.toStringElements();
  68. assertTrue("String not corrent", str.equals("Element, Element"));
  69. test2.deleteElement(0);
  70. test2.addElements(ele);
  71. assertTrue("Current Energy not corrent", test2.getCurrentEnergy() == 20);
  72. assertTrue("Should be Empty", test3.getElements().isEmpty());
  73. test3.setElements(test2.copyElements(test2.getElements()));
  74. assertTrue("Should be Empty", !test3.getElements().isEmpty());
  75. assertTrue("Should be state 0", test3.getState() == 0);
  76. test3.setState(1);
  77. assertTrue("Should be state 1", test3.getState() == 1);
  78. test3.setState(2);
  79. assertTrue("Should be state 2", test3.getState() == 2);
  80. test3.setState(3);
  81. assertTrue("Should be state 3", test3.getState() == 3);
  82. test3.setState(4);
  83. assertTrue("Should be state 4", test3.getState() == 4);
  84. assertTrue("Element not Found", test3.searchElement("Element") != null);
  85. test1.setElements(new ArrayList<HolonElement>());
  86. assertTrue("Not Empty", !test1.checkIfPartiallySupplied(1));
  87. test3.addElements(new HolonElement("Element2", 1, -10));
  88. assertTrue("Not Partially Supplied", test3.checkIfPartiallySupplied(1));
  89. test3.addElements(new HolonElement("Element2", 2, -10));
  90. assertTrue("Not Partially Supplied", test3.checkIfPartiallySupplied(1));
  91. test1.addElements(new HolonElement("Element2", 2, -10));
  92. assertTrue("minSupply < 0", !test1.checkIfPartiallySupplied(1));
  93. Color color = test3.getColor();
  94. test3.setColor(new Color(0, 255, 255));
  95. assertTrue(color.getBlue() != test3.getColor().getBlue());
  96. test3.addElements(new HolonElement("Element3", 3, 50));
  97. test3.setState();
  98. assertTrue("Should be state 3", test3.getState() == 3);
  99. test1.setState();
  100. assertTrue("Should be state 0", test1.getState() == 0);
  101. test2.setState();
  102. test2.setBorderColor(color);
  103. assertTrue("Color not Same", color == test2.getBorderColor());
  104. }
  105. /**
  106. <<<<<<< HEAD
  107. * Tests for HolonSwitch Class.
  108. =======
  109. * Test for HolonSwitch.
  110. >>>>>>> 90bc29b29bece3f981eca7b6bd629093b2c90382
  111. */
  112. @Test
  113. public void testHolonSwitch() {
  114. HolonSwitch test1 = new HolonSwitch("Test1");
  115. HolonSwitch test2 = new HolonSwitch(test1);
  116. assertTrue("Manuel Mode is on", !test2.getManualMode());
  117. test2.switchState();
  118. assertTrue(test2.getState());
  119. assertTrue(test2.getState(1));
  120. test2.setManualMode(true);
  121. test2.switchState();
  122. test2.switchState();
  123. assertTrue(test2.getState());
  124. assertTrue(test2.getState(1));
  125. assertTrue("Manuel Mode is off", test2.getManualMode());
  126. assertTrue("ManuelActive is off", test2.getActiveManual());
  127. test2.switchState();
  128. assertTrue("ManuelActive is on", !test2.getActiveManual());
  129. test2.switchState();
  130. assertTrue("ManuelActive is off", test2.getActiveManual());
  131. assertTrue(test1.getGraphPoints() != test2.getGraphPoints());
  132. test2.setGraphPoints(test1.getGraphPoints());
  133. assertTrue(test1.getGraphPoints() == test2.getGraphPoints());
  134. }
  135. /**
  136. <<<<<<< HEAD
  137. * Tests for CpsEdge Class.
  138. =======
  139. * Test for CpsEdge.
  140. >>>>>>> 90bc29b29bece3f981eca7b6bd629093b2c90382
  141. */
  142. @Test
  143. public void testCpsEdge() {
  144. CpsNode node1 = new CpsNode("Node1");
  145. CpsNode node2 = new CpsNode("Node2");
  146. CpsNode node3 = new CpsNode("Node3");
  147. CpsEdge edge1 = new CpsEdge(node1, node2, 100);
  148. CpsEdge edge2 = new CpsEdge(node2, node3);
  149. assertTrue("Flow not 0", edge1.getFlow() == 0);
  150. edge1.setFlow(50);
  151. assertTrue("Capacity not right", edge1.getCapacity() == 100);
  152. edge2.setFlow(50);
  153. edge1.setCapacity(200);
  154. assertTrue("Flow was not changed", edge1.getFlow() == 50);
  155. assertTrue("Capacity not right", edge1.getCapacity() == 200);
  156. assertTrue("line broken", edge2.getState());
  157. edge2.calculateState(false);
  158. assertTrue("line broken", edge2.getState());
  159. edge2.setFlow(200);
  160. edge2.calculateState(false);
  161. assertTrue("line not broken", !edge2.getState());
  162. edge1.setCapacity(-1);
  163. edge1.calculateState(false);
  164. edge1.setCapacity(500);
  165. edge1.calculateState(true);
  166. node1 = (CpsNode) edge1.getB();
  167. node2 = (CpsNode) edge2.getA();
  168. assertTrue("Not Same", node1 == node2);
  169. assertTrue("State not right", edge1.getState());
  170. edge1.setState(false);
  171. assertTrue("State not right", !edge1.getState());
  172. edge2.setTags(new ArrayList<Integer>());
  173. edge1.setTags(new ArrayList<Integer>());
  174. assertTrue("Tags not Empty", edge2.getTags().isEmpty());
  175. edge2.addTag(1);
  176. assertTrue("Tags not Empty", edge1.getTags().isEmpty());
  177. assertTrue("Tags Empty", !edge2.getTags().isEmpty());
  178. edge1.setTags(edge2.getTags());
  179. assertTrue("Tags Empty", !edge1.getTags().isEmpty());
  180. }
  181. /**
  182. <<<<<<< HEAD
  183. * Tests for HolonElement Class.
  184. =======
  185. * Test for HolonElement.
  186. >>>>>>> 90bc29b29bece3f981eca7b6bd629093b2c90382
  187. */
  188. @Test
  189. public void testHolonElement() {
  190. HolonElement ele1 = new HolonElement("TV", 2, -20);
  191. HolonElement ele2 = new HolonElement("Fridge", 1, -50);
  192. HolonElement ele3 = new HolonElement(ele2);
  193. assertTrue("Array not empty", ele1.getEnergyAt()[0] == -20);
  194. assertTrue("Array not empty", ele1.getEnergyAt()[2] == -20);
  195. ele1.setEnergyAt(2, -10);
  196. assertTrue("Array not empty", ele1.getEnergyAt()[2] == -10);
  197. assertTrue("Name not correct", ele1.getEleName().equals("TV"));
  198. ele1.setEleName(ele2.getEleName());
  199. assertTrue("Name not correct", ele1.getEleName().equals("Fridge"));
  200. assertTrue("Amount not correct", ele2.getAmount() == 1);
  201. ele2.setAmount(5);
  202. assertTrue("Amount not correct", ele2.getAmount() == 5);
  203. assertTrue("Total Energy not Correct", ele2.getTotalEnergy() == ele2.getAmount() * ele2.getEnergy());
  204. assertTrue("Sign not correct", ele2.getSign() == '-');
  205. ele3.setSav("CVS");
  206. assertTrue("SAV not correct", ele3.getSav().equals("CVS"));
  207. }
  208. /**
  209. <<<<<<< HEAD
  210. * Tests for Position Class.
  211. =======
  212. * Test for Position.
  213. >>>>>>> 90bc29b29bece3f981eca7b6bd629093b2c90382
  214. */
  215. @Test
  216. public void testPosition() {
  217. Position pos1 = new Position(100, 200);
  218. Position pos2 = new Position();
  219. assertTrue("Wrong coordinates", pos1.x == 100 && pos1.y == 200);
  220. assertTrue("Are the Same", pos1.x != pos2.x);
  221. assertTrue("not (-1,-1)", pos2.x == -1 && pos2.y == -1);
  222. }
  223. /**
  224. <<<<<<< HEAD
  225. * Tests for SubNet Class.
  226. =======
  227. * Test SubNet.
  228. >>>>>>> 90bc29b29bece3f981eca7b6bd629093b2c90382
  229. */
  230. @Test
  231. public void testSubNet() {
  232. PraktikumHolonsAdapter adapter = new PraktikumHolonsAdapter();
  233. ArrayList<HolonObject> obj = new ArrayList<>();
  234. ArrayList<CpsEdge> edge = new ArrayList<>();
  235. ArrayList<HolonSwitch> sw = new ArrayList<>();
  236. assertTrue("Not Empty", obj.isEmpty());
  237. assertTrue("Not Empty", sw.isEmpty());
  238. assertTrue("Not Empty", edge.isEmpty());
  239. for (int i = 1; i < 10; i++) {
  240. HolonObject o = new HolonObject(adapter.generate(i));
  241. HolonSwitch s = new HolonSwitch(adapter.generate(i));
  242. o = new HolonObject(o);
  243. s = new HolonSwitch(s);
  244. obj.add(o);
  245. sw.add(s);
  246. edge.add(new CpsEdge(o, s));
  247. }
  248. SubNet sub = new SubNet(obj, edge, sw);
  249. assertTrue("Empty", !sub.getObjects().isEmpty() && sub.getObjects().size() == 9);
  250. assertTrue("Empty", !sub.getSwitches().isEmpty() && sub.getSwitches().size() == 9);
  251. assertTrue("Empty", !sub.getEdges().isEmpty() && sub.getEdges().size() == 9);
  252. assertTrue("Wrong Obj", sub.getObjects().get(5).getObjName().equals("F"));
  253. }
  254. }