Browse Source

Test extended

Teh-Hai Julian Zheng 8 năm trước cách đây
mục cha
commit
6e7ffc6d37

+ 65 - 0
src/tests/praktikumHolonsAdapter.java

@@ -0,0 +1,65 @@
+package tests;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import static java.lang.Math.*;
+
+import classes.Category;
+import classes.HolonElement;
+import classes.HolonObject;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+
+
+public class praktikumHolonsAdapter {
+
+	
+	/**
+	 * Generate Sequence of Categories from A - ZZZ
+	 * @param arr
+	 */
+	public void generateCategories(ArrayList<Category> arr) {
+		for (int i = 0; i < 18279; i++) {
+			arr.add(new Category(generate(i)));
+		}
+	}
+	
+	/**
+	 * Generate Sequence of Objects from A - ZZZ
+	 * @param arr
+	 */
+	public void generateObjects(ArrayList<HolonObject> arr) {
+		for (int i = 0; i < 18279; i++) {
+			arr.add(new HolonObject(generate(i)));
+		}
+	}
+	
+	/**
+	 * Generate Sequence of Elements from A - ZZZ
+	 * @param arr
+	 */
+	public void generateElements(ArrayList<HolonElement> arr) {
+		for (int i = 0; i < 18279; i++) {
+			arr.add(new HolonElement(generate(i), 1, 10));
+		}
+	}
+	
+	/**
+	 * Generate Alphabetical Sequences
+	 * @param n
+	 * @return
+	 */
+	public String generate(int n) {
+	    char[] buf = new char[(int) floor(log(25 * (n + 1)) / log(26))];
+	    for (int i = buf.length - 1; i >= 0; i--) {
+	        n--;
+	        buf[i] = (char) ('A' + n % 26);
+	        n /= 26;
+	    }
+	    return new String(buf);
+	}
+	
+}

+ 27 - 0
src/tests/praktikumHolonsTestCanvasController.java

@@ -1,5 +1,32 @@
 package tests;
 package tests;
 
 
+import static org.junit.Assert.*;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import ui.controller.CanvasController;
+import ui.controller.MultiPurposeController;
+import ui.model.Model;
 public class praktikumHolonsTestCanvasController {
 public class praktikumHolonsTestCanvasController {
 
 
+	protected praktikumHolonsAdapter adapter;
+	protected Model model;
+	protected MultiPurposeController mp;
+	protected CanvasController controller;
+
+	
+	@Before
+	public void setUp() {
+		adapter = new praktikumHolonsAdapter();
+		model = new Model();
+		mp = new MultiPurposeController(model);
+		controller = new CanvasController(model, mp);
+	}
+	
+	@Test
+	public void testAddingObjects() {
+		
+	}
+	
 }
 }

+ 77 - 29
src/tests/praktikumHolonsTestCategoryController.java

@@ -5,53 +5,58 @@ import static org.junit.Assert.*;
 import org.junit.Before;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.Test;
 
 
+import com.sun.org.apache.xerces.internal.util.SynchronizedSymbolTable;
+
+import classes.Category;
 import classes.HolonObject;
 import classes.HolonObject;
 import ui.controller.CategoryController;
 import ui.controller.CategoryController;
 import ui.controller.MultiPurposeController;
 import ui.controller.MultiPurposeController;
 import ui.model.Model;
 import ui.model.Model;
 
 
-
-
 public class praktikumHolonsTestCategoryController {
 public class praktikumHolonsTestCategoryController {
 
 
-	protected praktikumHolonsTestCategoryController adapter;
+	protected praktikumHolonsAdapter adapter;
 	protected Model model;
 	protected Model model;
 	protected MultiPurposeController mp;
 	protected MultiPurposeController mp;
 	protected CategoryController controller;
 	protected CategoryController controller;
-	
+
 	@Before
 	@Before
 	public void setUp() {
 	public void setUp() {
-		adapter = new praktikumHolonsTestCategoryController();
+		adapter = new praktikumHolonsAdapter();
 		model = new Model();
 		model = new Model();
 		mp = new MultiPurposeController(model);
 		mp = new MultiPurposeController(model);
 		controller = new CategoryController(model, mp);
 		controller = new CategoryController(model, mp);
-		
+
 	}
 	}
-	
+
 	@Test
 	@Test
 	public void testInitialCategories() {
 	public void testInitialCategories() {
 		assertTrue("Number of Categories is not 3", model.getCategories().size() == 3);
 		assertTrue("Number of Categories is not 3", model.getCategories().size() == 3);
 		assertTrue("Second Category is not Building", model.getCategories().get(1).getName().equals("Building"));
 		assertTrue("Second Category is not Building", model.getCategories().get(1).getName().equals("Building"));
 		assertTrue("Category Building is Empty", !model.getCategories().get(1).getObjects().isEmpty());
 		assertTrue("Category Building is Empty", !model.getCategories().get(1).getObjects().isEmpty());
-		assertEquals("Object is not a Power Plant", mp.searchCategory("Energy").getObjects().get(0).getObjName(), "Power Plant");
-		assertFalse("A Switch should not be a Holon Object", mp.searchCategoryObject(mp.searchCategory("Component"), "Switch") instanceof HolonObject);
+		assertEquals("Object is not a Power Plant", mp.searchCategory("Energy").getObjects().get(0).getObjName(),
+				"Power Plant");
+		assertFalse("A Switch should not be a Holon Object",
+				mp.searchCategoryObject(mp.searchCategory("Component"), "Switch") instanceof HolonObject);
 	}
 	}
-	
+
 	@Test
 	@Test
-	public void testAddingCategories() {
+	public void testAddingCategoriesMinimal() {
 		controller.addNewCategory("University");
 		controller.addNewCategory("University");
 		controller.addNewCategory("Hospital");
 		controller.addNewCategory("Hospital");
 		assertTrue("Number of Categories is not 5", model.getCategories().size() == 5);
 		assertTrue("Number of Categories is not 5", model.getCategories().size() == 5);
 		controller.addNewCategory("Energy");
 		controller.addNewCategory("Energy");
 		assertTrue("Number of Categories is not 6", model.getCategories().size() == 6);
 		assertTrue("Number of Categories is not 6", model.getCategories().size() == 6);
-		assertTrue("Name of the Duplicate: Energy was not changed to Energy_0", model.getCategories().get(5).getName().equals("Energy_0"));
+		assertTrue("Name of the Duplicate: Energy was not changed to Energy_0",
+				model.getCategories().get(5).getName().equals("Energy_0"));
 		controller.addNewCategory("Energy");
 		controller.addNewCategory("Energy");
 		assertTrue("Number of Categories is not 7", model.getCategories().size() == 7);
 		assertTrue("Number of Categories is not 7", model.getCategories().size() == 7);
-		assertTrue("Name of the Duplicate: Energy was not changed to Energy_1", model.getCategories().get(6).getName().equals("Energy_1"));
+		assertTrue("Name of the Duplicate: Energy was not changed to Energy_1",
+				model.getCategories().get(6).getName().equals("Energy_1"));
 	}
 	}
-	
+
 	@Test
 	@Test
-	public void testDeletingCategories() {
+	public void testDeletingCategoriesMinimal() {
 		assertTrue("Number of Categories is not 3", model.getCategories().size() == 3);
 		assertTrue("Number of Categories is not 3", model.getCategories().size() == 3);
 		assertTrue("2nd Category does not Match", model.getCategories().get(1).getName().equals("Building"));
 		assertTrue("2nd Category does not Match", model.getCategories().get(1).getName().equals("Building"));
 		controller.deleteCategory("Building");
 		controller.deleteCategory("Building");
@@ -61,25 +66,68 @@ public class praktikumHolonsTestCategoryController {
 		assertTrue("Number of Categories is not 1", model.getCategories().size() == 1);
 		assertTrue("Number of Categories is not 1", model.getCategories().size() == 1);
 		assertTrue("1st Category was not Component", model.getCategories().get(0).getName().equals("Component"));
 		assertTrue("1st Category was not Component", model.getCategories().get(0).getName().equals("Component"));
 	}
 	}
-	
+
 	@Test
 	@Test
-	public void testAddingAndDeletingObjects() {
+	public void testAddingAndDeletingCategoriesExtended() {
+		for (int i = 1; i <= 50; i++) {
+			controller.addNewCategory(adapter.generate(i));
+			assertTrue("Catagory:" + adapter.generate(i) + " was not added", model.getCategories().size() == i + 3);
+		}
+
+		assertEquals("Category does not match", model.getCategories().get(29).getName(), "AA");
+		controller.deleteCategory("AA");
+		assertTrue("Catagory:AA was not deleted", model.getCategories().size() == 52);
+		assertEquals("Category does not match", model.getCategories().get(29).getName(), "AB");
+		assertEquals("Category does not match", model.getCategories().get(30).getName(), "AC");
+		controller.deleteCategory("AB");
+		assertTrue("Catagory:AB was not deleted", model.getCategories().size() == 51);
+		assertEquals("Category does not match", model.getCategories().get(29).getName(), "AC");
+		controller.deleteCategory("AD");
+		assertTrue("Catagory:AD was not deleted", model.getCategories().size() == 50);
+		assertEquals("Category does not match", model.getCategories().get(29).getName(), "AC");
+		assertEquals("Category does not match", model.getCategories().get(30).getName(), "AE");
+		controller.deleteCategory("Energy");
+		assertTrue("Catagory:Energy was not deleted", model.getCategories().size() == 49);
+
+		for (int i = 1; i <= 10; i++) {
+			controller.deleteCategory(adapter.generate(i));
+			assertTrue("Catagory was not deleted", model.getCategories().size() == 49 - i);
+		}
+		assertEquals("Category does not match", model.getCategories().get(3).getName(), "L");
+	}
+
+	@Test
+	public void testAddingAndDeletingObjectsMinimal() {
 		controller.addNewHolonObject(mp.searchCategory("Energy"), "Power Plant", null, "");
 		controller.addNewHolonObject(mp.searchCategory("Energy"), "Power Plant", null, "");
 		controller.addNewHolonObject(mp.searchCategory("Energy"), "Power Plant", null, "");
 		controller.addNewHolonObject(mp.searchCategory("Energy"), "Power Plant", null, "");
 		controller.addNewHolonObject(mp.searchCategory("Energy"), "Solar Plant", null, "");
 		controller.addNewHolonObject(mp.searchCategory("Energy"), "Solar Plant", null, "");
-		
-		assertTrue("Number of Objects in Energy is not 4",mp.searchCategory("Energy").getObjects().size() == 4);
-		assertTrue("Number of Object-Indices in Energy is not 4",mp.searchCategory("Energy").getObjIdx().size() == 4);
-		assertTrue("Object was not renamed to \"Power Plant_0\" ", mp.searchCategory("Energy").getObjects().get(1).getObjName().equals("Power Plant_0"));
-		assertTrue("Object was not renamed to \"Power Plant_1\" ", mp.searchCategory("Energy").getObjects().get(2).getObjName().equals("Power Plant_1"));
-		assertTrue("3th Object was not \"Power Plant_1\"", mp.searchCategory("Energy").getObjects().get(2).getName().equals("Power Plant_1"));
+
+		assertTrue("Number of Objects in Energy is not 4", mp.searchCategory("Energy").getObjects().size() == 4);
+		assertTrue("Number of Object-Indices in Energy is not 4", mp.searchCategory("Energy").getObjIdx().size() == 4);
+		assertTrue("Object was not renamed to \"Power Plant_0\" ",
+				mp.searchCategory("Energy").getObjects().get(1).getObjName().equals("Power Plant_0"));
+		assertTrue("Object was not renamed to \"Power Plant_1\" ",
+				mp.searchCategory("Energy").getObjects().get(2).getObjName().equals("Power Plant_1"));
+		assertTrue("3th Object was not \"Power Plant_1\"",
+				mp.searchCategory("Energy").getObjects().get(2).getName().equals("Power Plant_1"));
 		controller.deleteObject("Energy", "Power Plant_1");
 		controller.deleteObject("Energy", "Power Plant_1");
-		assertTrue("3th Object was not deleted", mp.searchCategory("Energy").getObjects().get(2).getName().equals("Solar Plant"));
-		assertTrue("Number of Objects in Energy is not 3",mp.searchCategory("Energy").getObjects().size() == 3);
+		assertTrue("3th Object was not deleted",
+				mp.searchCategory("Energy").getObjects().get(2).getName().equals("Solar Plant"));
+		assertTrue("Number of Objects in Energy is not 3", mp.searchCategory("Energy").getObjects().size() == 3);
 		controller.addNewHolonObject(mp.searchCategory("Energy"), "Solar Plant", null, "");
 		controller.addNewHolonObject(mp.searchCategory("Energy"), "Solar Plant", null, "");
-		assertTrue("Object was not renamed to \"Solar Plant_0\" ", mp.searchCategory("Energy").getObjects().get(3).getObjName().equals("Solar Plant_0"));
-		assertTrue("Number of Objects in Energy is not 4",mp.searchCategory("Energy").getObjects().size() == 4);
+		assertTrue("Object was not renamed to \"Solar Plant_0\" ",
+				mp.searchCategory("Energy").getObjects().get(3).getObjName().equals("Solar Plant_0"));
+		assertTrue("Number of Objects in Energy is not 4", mp.searchCategory("Energy").getObjects().size() == 4);
+	}
+
+	@Test
+	public void testAddingAndDeletingObjectsExtended() {
+
+		for (int i = 1; i <= 50; i++) {
+			controller.addNewHolonObject(mp.searchCategory("Energy"), adapter.generate(i), null, null);
+			assertTrue("Object:" + adapter.generate(i+1) + " was not added",
+					mp.searchCategory("Energy").getObjects().size() == i + 1);
+
+		}
 	}
 	}
-	
-	
 }
 }