PraktikumHolonsTestObjectController.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package tests;
  2. import static org.junit.Assert.assertTrue;
  3. import org.junit.Before;
  4. import org.junit.Test;
  5. import classes.AbstractCanvasObject;
  6. import classes.HolonObject;
  7. import ui.controller.CanvasController;
  8. import ui.controller.CategoryController;
  9. import ui.controller.Control;
  10. import ui.controller.MultiPurposeController;
  11. import ui.controller.ObjectController;
  12. import ui.model.Model;
  13. /**
  14. * Tests for the ObjectController.
  15. *
  16. * @author Gruppe14
  17. */
  18. public class PraktikumHolonsTestObjectController {
  19. protected PraktikumHolonsAdapter adapter;
  20. protected Model model;
  21. protected MultiPurposeController mp;
  22. protected CategoryController cg;
  23. protected CanvasController cvs;
  24. protected ObjectController controller;
  25. /**
  26. * Setup for the Tests.
  27. */
  28. @Before
  29. public void setUp() {
  30. adapter = new PraktikumHolonsAdapter();
  31. model = new Model();
  32. mp = new MultiPurposeController(model);
  33. cg = new CategoryController(model, mp, new Control(model));
  34. cvs = new CanvasController(model, mp);
  35. controller = new ObjectController(model, mp);
  36. }
  37. /**
  38. * Tests for the Initial HolonElements.
  39. */
  40. @Test
  41. public void testInitialHolonElements() {
  42. assertTrue("Number of Elements does not Match",
  43. ((HolonObject) mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")).getElements().size() == 1);
  44. // assertTrue("Element does not Match",
  45. // mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Energy"), "Power Plant"), "Power").getEleName()
  46. // .equals("Power"));
  47. // assertTrue("Element does not Match",
  48. // mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Energy"), "Power Plant"), "Power").getEleName()
  49. // .equals("Power"));
  50. // assertTrue("Total Energy does not Match",
  51. // mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "PC")
  52. // .getTotalEnergy() == -750);
  53. // assertTrue("Non-Existant Element is Found",
  54. // mp.searchEle((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House"), "") == null);
  55. }
  56. /**
  57. * Tests for adding and Deleting in Categories.
  58. */
  59. @Test
  60. public void testAddingAndDeletingInCategory() {
  61. controller.addNewElementIntoCategoryObject("Building", "House", "A", 1, -10);
  62. for (int i = 2; i < 27; i++) {
  63. controller.addNewElementIntoCategoryObject("Building", "House", adapter.generate(i), i, -10);
  64. // n(n+1) / 2
  65. assertTrue("Number of Elements does not Match",
  66. ((HolonObject) mp.searchCatObj(mp.searchCat("Building"), "House")).getElements().size() == 6 + i);
  67. }
  68. }
  69. /**
  70. * Tests for Adding and Deleting Objects on the Canvas.
  71. */
  72. @Test
  73. public void testAddingAndDeletingInCanvas() {
  74. for (int i = 0; i < 100; i++) {
  75. cvs.addNewObject(new HolonObject((HolonObject)mp.searchCatObj(mp.searchCat("Building"), "House")));
  76. }
  77. for (AbstractCanvasObject cps : model.getObjectsOnCanvas()) {
  78. int size = model.getSelectedCpsObjects().size();
  79. controller.addSelectedObject(cps);
  80. assertTrue("Size does not Match", model.getSelectedCpsObjects().size() == size + 1);
  81. }
  82. for (AbstractCanvasObject cps : model.getObjectsOnCanvas()) {
  83. System.out.println(model.getSelectedCpsObjects().size());
  84. int size = model.getSelectedCpsObjects().size();
  85. controller.deleteSelectedObject(cps);
  86. assertTrue("Size does not Match", model.getSelectedCpsObjects().size() == size - 1);
  87. assertTrue("Object was not unselected", !model.getSelectedCpsObjects().contains(cps));
  88. }
  89. }
  90. }