praktikumHolonsTestCategoryController.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package tests;
  2. import static org.junit.Assert.*;
  3. import org.junit.Before;
  4. import org.junit.Test;
  5. import classes.HolonObject;
  6. import ui.controller.CategoryController;
  7. import ui.controller.MultiPurposeController;
  8. import ui.model.Model;
  9. public class praktikumHolonsTestCategoryController {
  10. protected praktikumHolonsAdapter adapter;
  11. protected Model model;
  12. protected MultiPurposeController mp;
  13. protected CategoryController controller;
  14. /**
  15. * Setup for the Tests.
  16. */
  17. @Before
  18. public void setUp() {
  19. adapter = new praktikumHolonsAdapter();
  20. model = new Model();
  21. mp = new MultiPurposeController(model);
  22. controller = new CategoryController(model, mp);
  23. }
  24. /**
  25. * tests for the Initial Categories.
  26. */
  27. @Test
  28. public void testInitialCategories() {
  29. assertTrue("Number of Categories is not 3", model.getCategories().size() == 3);
  30. assertTrue("Second Category is not Building", model.getCategories().get(1).getName().equals("Building"));
  31. assertTrue("Category Building is Empty", !model.getCategories().get(1).getObjects().isEmpty());
  32. assertEquals("Object is not a Power Plant", mp.searchCat("Energy").getObjects().get(0).getObjName(),
  33. "Power Plant");
  34. assertFalse("A Switch should not be a Holon Object",
  35. mp.searchCatObj(mp.searchCat("Component"), "Switch") instanceof HolonObject);
  36. }
  37. /**
  38. * Basic tests for adding new Categories.
  39. */
  40. @Test
  41. public void testAddingCategoriesMinimal() {
  42. controller.addNewCategory("University");
  43. controller.addNewCategory("Hospital");
  44. assertTrue("Number of Categories is not 5", model.getCategories().size() == 5);
  45. controller.addNewCategory("Energy");
  46. assertTrue("Number of Categories is not 6", model.getCategories().size() == 6);
  47. assertTrue("Name of the Duplicate: Energy was not changed to Energy_0",
  48. model.getCategories().get(5).getName().equals("Energy_0"));
  49. controller.addNewCategory("Energy");
  50. assertTrue("Number of Categories is not 7", model.getCategories().size() == 7);
  51. assertTrue("Name of the Duplicate: Energy was not changed to Energy_1",
  52. model.getCategories().get(6).getName().equals("Energy_1"));
  53. }
  54. /**
  55. * Basic tests for deleting Categories.
  56. */
  57. @Test
  58. public void testDeletingCategoriesMinimal() {
  59. assertTrue("Number of Categories is not 3", model.getCategories().size() == 3);
  60. assertTrue("2nd Category does not Match", model.getCategories().get(1).getName().equals("Building"));
  61. controller.deleteCategory("Building");
  62. assertTrue("Number of Categories is not 2", model.getCategories().size() == 2);
  63. assertTrue("Former 2nd Category was not deleted", model.getCategories().get(1).getName().equals("Component"));
  64. controller.deleteCategory("Energy");
  65. assertTrue("Number of Categories is not 1", model.getCategories().size() == 1);
  66. assertTrue("1st Category was not Component", model.getCategories().get(0).getName().equals("Component"));
  67. }
  68. /**
  69. * Extended tests for adding and deleting Categories.
  70. */
  71. @Test
  72. public void testAddingAndDeletingCategoriesExtended() {
  73. for (int i = 1; i <= 50; i++) {
  74. controller.addNewCategory(adapter.generate(i));
  75. assertTrue("Catagory:" + adapter.generate(i) + " was not added", model.getCategories().size() == i + 3);
  76. }
  77. assertEquals("Category does not match", model.getCategories().get(29).getName(), "AA");
  78. controller.deleteCategory("AA");
  79. assertTrue("Catagory:AA was not deleted", model.getCategories().size() == 52);
  80. assertEquals("Category does not match", model.getCategories().get(29).getName(), "AB");
  81. assertEquals("Category does not match", model.getCategories().get(30).getName(), "AC");
  82. controller.deleteCategory("AB");
  83. assertTrue("Catagory:AB was not deleted", model.getCategories().size() == 51);
  84. assertEquals("Category does not match", model.getCategories().get(29).getName(), "AC");
  85. controller.deleteCategory("AD");
  86. assertTrue("Catagory:AD was not deleted", model.getCategories().size() == 50);
  87. assertEquals("Category does not match", model.getCategories().get(29).getName(), "AC");
  88. assertEquals("Category does not match", model.getCategories().get(30).getName(), "AE");
  89. controller.deleteCategory("Energy");
  90. assertTrue("Catagory:Energy was not deleted", model.getCategories().size() == 49);
  91. for (int i = 1; i <= 10; i++) {
  92. controller.deleteCategory(adapter.generate(i));
  93. assertTrue("Catagory was not deleted", model.getCategories().size() == 49 - i);
  94. }
  95. assertEquals("Category does not match", model.getCategories().get(3).getName(), "L");
  96. }
  97. /**
  98. * Basic tests for adding and deleting Objects.
  99. */
  100. @Test
  101. public void testAddingAndDeletingObjectsMinimal() {
  102. controller.addNewHolonObject(mp.searchCat("Energy"), "Power Plant", null, "");
  103. controller.addNewHolonObject(mp.searchCat("Energy"), "Power Plant", null, "");
  104. controller.addNewHolonObject(mp.searchCat("Energy"), "Solar Plant", null, "");
  105. assertTrue("Number of Objects in Energy is not 4", mp.searchCat("Energy").getObjects().size() == 4);
  106. assertTrue("Number of Object-Indices in Energy is not 4", mp.searchCat("Energy").getObjIdx().size() == 4);
  107. assertTrue("Object was not renamed to \"Power Plant_0\" ",
  108. mp.searchCat("Energy").getObjects().get(1).getObjName().equals("Power Plant_0"));
  109. assertTrue("Object was not renamed to \"Power Plant_1\" ",
  110. mp.searchCat("Energy").getObjects().get(2).getObjName().equals("Power Plant_1"));
  111. assertTrue("3th Object was not \"Power Plant_1\"",
  112. mp.searchCat("Energy").getObjects().get(2).getName().equals("Power Plant_1"));
  113. controller.deleteObject("Energy", "Power Plant_1");
  114. assertTrue("3th Object was not deleted",
  115. mp.searchCat("Energy").getObjects().get(2).getName().equals("Solar Plant"));
  116. assertTrue("Number of Objects in Energy is not 3", mp.searchCat("Energy").getObjects().size() == 3);
  117. controller.addNewHolonObject(mp.searchCat("Energy"), "Solar Plant", null, "");
  118. assertTrue("Object was not renamed to \"Solar Plant_0\" ",
  119. mp.searchCat("Energy").getObjects().get(3).getObjName().equals("Solar Plant_0"));
  120. assertTrue("Number of Objects in Energy is not 4", mp.searchCat("Energy").getObjects().size() == 4);
  121. }
  122. /**
  123. * Extended tests for adding and deleting Objects.
  124. */
  125. @Test
  126. public void testAddingAndDeletingObjectsExtended() {
  127. for (int i = 1; i <= 25; i++) {
  128. controller.addNewHolonObject(mp.searchCat("Energy"), adapter.generate(i), null, null);
  129. controller.addNewHolonObject(mp.searchCat("Energy"), adapter.generate(i), null, null);
  130. assertTrue("Objects were not added", mp.searchCat("Energy").getObjects().size() == i * 2 + 1);
  131. assertTrue("Object was not renamed to \"" + adapter.generate(i) + "_0\"", mp.searchCat("Energy")
  132. .getObjects().get(i * 2).getObjName().equals(adapter.generate(i) + "_0"));
  133. }
  134. controller.deleteObject("Energy", "E_0");
  135. assertTrue("Object was not deleted", mp.searchCatObj(mp.searchCat("Energy"), "E_0") == null);
  136. controller.deleteObject("Energy", "F_0");
  137. assertTrue("Object was not deleted", mp.searchCatObj(mp.searchCat("Energy"), "F_0") == null);
  138. controller.deleteObject("Energy", "G_0");
  139. assertTrue("Object was not deleted", mp.searchCatObj(mp.searchCat("Energy"), "G_0") == null);
  140. controller.deleteObject("Energy", "H_0");
  141. assertTrue("Object was not deleted", mp.searchCatObj(mp.searchCat("Energy"), "H_0") == null);
  142. assertTrue("Number of Objects does not match", mp.searchCat("Energy").getObjects().size() == 47);
  143. }
  144. }