diff --git a/tests/archiving/testSuite.php b/tests/archiving/testSuite.php
new file mode 100644
index 0000000..6a872d0
--- /dev/null
+++ b/tests/archiving/testSuite.php
@@ -0,0 +1,113 @@
+";
+
+$aClasses = array("archiving/DocumentArchiving" => array("DocumentID", "ArchivingTypeID", "ArchivingSettingsID"),
+ "archiving/TimeUnit" => array("Name"),
+ "archiving/ArchivingType" => array("Name"),
+ "archiving/ArchivingUtilisationSettings" => array("DocumentTransactionID", "TimePeriodID"),
+ "archiving/TimePeriod" => array("TimeUnitID", "Units"),
+ "archiving/ArchivingDateSettings" => array("ExpirationDate", "TimePeriodID"));
+
+$aInitialValues = array("1,2,3",
+ "hour",
+ "\"blah's\"",
+ "5, 1",
+ "1, 10",
+ "'2002-10-10', 1");
+
+$aSetValues = array(array(9,8,7),
+ array("minute"),
+ array("fooblar's"),
+ array(6,6),
+ array(2,20),
+ array("2003-01-01", 4));
+
+
+$count = 0;
+foreach ($aClasses as $classPath => $aMethodList) {
+ $aClassPath = explode("/", $classPath);
+ $className = $aClassPath[count($aClassPath)-1];
+ require_once("$default->fileSystemRoot/lib/$classPath.inc");
+
+ $constructor = "\$oClass = new $className($aInitialValues[$count]);";
+ echo "$className- $constructor
";
+ echo "Testing creation
";
+ eval($constructor);
+ if (isset($oClass)) {
+ echo "Passed creation test
";
+
+ echo "Testing storage
";
+ if ($oClass->create()) {
+ echo "Passed storage test
";
+ $oClass->iId = -1;$oClass->create();
+
+ echo "Testing setting and getting of values
";
+ $i=0;
+ foreach ($aMethodList as $method) {
+ $getter = "get$method";
+ $setter = "set$method";
+ echo "Current $method: " . $oClass->$getter() . "
";
+ echo "Setting $method to: " . $aSetValues[$count][$i] . "
";
+ $oClass->$setter($aSetValues[$count][$i]);
+ echo "New $method: " . $oClass->$getter() . "
";
+ $i++;
+ }
+
+ echo "Testing update
";
+ if ($oClass->update()) {
+ echo "Passed update test
";
+
+ echo "Testing retrieval
";
+ $get = "\$oNewClass = $className::get(1);";
+ eval($get);
+ if ($oNewClass) {
+ echo "Passed retrieval test:\n" . arrayToString($oNewClass) . "
";
+ } else {
+ echo "Failed retrieval test.
";
+ }
+
+ echo "Testing array retrieval
";
+ $getList = "\$aNewClass = $className::getList();";
+ eval($getList);
+ echo "array=\n" . arrayToString($aNewClass) . "
";
+
+ echo "Testing deletion
";
+ if ($oClass->delete()) {
+ echo "Passed deletion test
";
+ } else {
+ echo "Failed deletion test";
+ }
+ } else {
+ echo "Failed update test
";
+ echo "Tests NOT run: (a) retrieval by id (b) array list retrieval (c) deletion
";
+ }
+ } else {
+ echo "Failed storage test
";
+ echo "Tests NOT run: (a) update (b) retrieval by id (c) array list retrieval (d) deletion
";
+ }
+ } else {
+ echo "Failed creation test
";
+ echo "Tests NOT run: (a)getting and setting (b) storage (c) retrieval by id (d) array list retrieval (e) deletion
";
+ }
+ $count++;
+ echo "