<?php require_once('simpletest/autorun.php'); require_once(dirname(__FILE__).'/../../annotations.php'); class TestingAnnotation extends Annotation { public $optional = 'default'; public $required; } class TestOfAnnotation extends UnitTestCase { public function testConstructorsFillsParameters() { $annotation = new TestingAnnotation(array('optional' => 1, 'required' => 2), $this); $this->assertEqual($annotation->optional, 1); $this->assertEqual($annotation->required, 2); } public function testConstructorThrowsErrorOnInvalidParameter() { $annotation = new TestingAnnotation(array('unknown' => 1), $this); $this->assertError("Property 'unknown' not defined for annotation 'TestingAnnotation'"); } public function TODO_testConstructorThrowsErrorWithoutSpecifingRequiredParameters() { $annotation = new TestingAnnotation(); $this->assertError("Property 'required' in annotation 'TestingAnnotation' is required"); } } ?>