* @package taoItems */ interface taoTests_models_classes_TestModel { /** * Prepare the content of the test, * using the provided items if possible * * @param core_kernel_classes_Resource $test * @param array $items an array of item resources */ public function prepareContent(core_kernel_classes_Resource $test, $items = []); /** * Delete the content of the test * * @param Resource $test */ public function deleteContent(core_kernel_classes_Resource $test); /** * Returns all the items potenially used within the test * * @param Resource $test * @return array an array of item resources */ public function getItems(core_kernel_classes_Resource $test); /** * returns the test authoring url * * @param core_kernel_classes_Resource $test the test instance * @return string the authoring url */ public function getAuthoringUrl(core_kernel_classes_Resource $test); /** * Clones the content of one test to another test, * assumes that other test has already been cleaned (using deleteContent()) * * @access public * @author Joel Bout, * @param core_kernel_classes_Resource $source * @param core_kernel_classes_Resource $destination */ public function cloneContent(core_kernel_classes_Resource $source, core_kernel_classes_Resource $destination); /** * Returns the compiler class of the test * * @return string */ public function getCompilerClass(); /** * Return the Packable implementation for the given test model. * Packing is an alternative to Compilation. A Packer generates the * data needed to run a test where the compiler creates a stand alone * test. * * @return Packable the packer class to instantiate */ public function getPackerClass(); }