praktikumHolonsTestObjectController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package tests;
  2. import static org.junit.Assert.assertEquals;
  3. import static org.junit.Assert.assertFalse;
  4. import static org.junit.Assert.assertTrue;
  5. import org.junit.Before;
  6. import org.junit.Test;
  7. import classes.AbstractCpsObject;
  8. import classes.HolonObject;
  9. import ui.controller.CanvasController;
  10. import ui.controller.CategoryController;
  11. import ui.controller.MultiPurposeController;
  12. import ui.controller.ObjectController;
  13. import ui.model.Model;
  14. public class praktikumHolonsTestObjectController {
  15. protected praktikumHolonsAdapter adapter;
  16. protected Model model;
  17. protected MultiPurposeController mp;
  18. protected CategoryController cg;
  19. protected CanvasController cvs;
  20. protected ObjectController controller;
  21. @Before
  22. public void setUp() {
  23. adapter = new praktikumHolonsAdapter();
  24. model = new Model();
  25. mp = new MultiPurposeController(model);
  26. cg = new CategoryController(model, mp);
  27. cvs = new CanvasController(model, mp);
  28. controller = new ObjectController(model, mp);
  29. }
  30. @Test
  31. public void testInitialHolonElements() {
  32. assertTrue("Number of Elements does not Match",
  33. ((HolonObject) mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")).getElements().size() == 1);
  34. assertTrue("Element does not Match",
  35. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Energy"), "Power Plant"), "Power").getEleName()
  36. .equals("Power"));
  37. assertTrue("Element does not Match",
  38. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Energy"), "Power Plant"), "Power").getEleName()
  39. .equals("Power"));
  40. assertTrue("Total Energy does not Match",
  41. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "PC")
  42. .getTotalEnergy() == -750);
  43. assertTrue("Non-Existant Element is Found",
  44. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "") == null);
  45. }
  46. @Test
  47. public void testAddingAndDeletingInCategory() {
  48. controller.addNewElementIntoCategoryObject("Building", "House", "A", 1, -10);
  49. for (int i = 2; i < 27; i++) {
  50. controller.addNewElementIntoCategoryObject("Building", "House", adapter.generate(i), i, -10);
  51. // n(n+1) / 2
  52. assertTrue("Total Energy does not match", ((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"))
  53. .getCurrentEnergy() == -1800 + ((i * (i + 1)) / 2) * -10);
  54. assertTrue("Number of Elements does not Match",
  55. ((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House")).getElements().size() == 6 + i);
  56. }
  57. controller.deleteElementInCategory("Building", "House", "B");
  58. controller.deleteElementInCategory("Building", "House", "D");
  59. controller.deleteElementInCategory("Building", "House", "F");
  60. controller.deleteElementInCategory("Building", "House", "G");
  61. controller.deleteElementInCategory("Building", "House", "H");
  62. controller.deleteElementInCategory("Building", "House", "I");
  63. controller.deleteElementInCategory("Building", "House", "Z");
  64. controller.deleteElementInCategory("Building", "House", "TV");
  65. assertTrue("Element:B was Found",
  66. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "B") == null);
  67. assertTrue("Element:D was Found",
  68. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "D") == null);
  69. assertTrue("Element:F was Found",
  70. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "F") == null);
  71. assertTrue("Element:G was Found",
  72. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "G") == null);
  73. assertTrue("Element:H was Found",
  74. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "H") == null);
  75. assertTrue("Element:I was Found",
  76. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "I") == null);
  77. assertTrue("Element:Z was Found",
  78. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "Z") == null);
  79. assertTrue("Element:TV was Found",
  80. mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "TV") == null);
  81. }
  82. @Test
  83. public void testAddingAndDeletingInCanvas() {
  84. for (int i = 0; i < 100; i++) {
  85. cvs.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Building"), "House")));
  86. }
  87. for (AbstractCpsObject cps : model.getObjectsOnCanvas()) {
  88. for (int i = 0; i < 27; i++) {
  89. controller.addNewElementIntoCanvasObject(cps.getID(), adapter.generate(i), 1, -100);
  90. assertTrue("Element:" + adapter.generate(i) + " was not Created", mp
  91. .searchEle((HolonObject) mp.searchByID(cps.getID()), adapter.generate(i)) != null);
  92. }
  93. assertTrue("Element:B was not Found", mp
  94. .searchEle((HolonObject) mp.searchByID(cps.getID()), "B") != null);
  95. assertTrue("Element:D was not Found", mp
  96. .searchEle((HolonObject) mp.searchByID(cps.getID()), "D") != null);
  97. assertTrue("Element:F was not Found", mp
  98. .searchEle((HolonObject) mp.searchByID(cps.getID()), "F") != null);
  99. assertTrue("Element:G was not Found", mp
  100. .searchEle((HolonObject) mp.searchByID(cps.getID()), "G") != null);
  101. assertTrue("Element:H was not Found", mp
  102. .searchEle((HolonObject) mp.searchByID(cps.getID()), "H") != null);
  103. assertTrue("Element:I was not Found", mp
  104. .searchEle((HolonObject) mp.searchByID(cps.getID()), "I") != null);
  105. assertTrue("Element:B was not Found", mp
  106. .searchEle((HolonObject) mp.searchByID(cps.getID()), "B") != null);
  107. }
  108. for (AbstractCpsObject cps : model.getObjectsOnCanvas()) {
  109. int size = model.getSelectedCpsObjects().size();
  110. controller.addSelectedObject(cps);
  111. assertTrue("Size does not Match", model.getSelectedCpsObjects().size() == size +1);
  112. }
  113. for (AbstractCpsObject cps : model.getObjectsOnCanvas()) {
  114. System.out.println(model.getSelectedCpsObjects().size());
  115. int size = model.getSelectedCpsObjects().size();
  116. controller.deleteSelectedObject(cps);
  117. assertTrue("Size does not Match", model.getSelectedCpsObjects().size() == size -1);
  118. assertTrue("Object was not unselected", !model.getSelectedCpsObjects().contains(cps));
  119. }
  120. }
  121. }