public function testAddRequiredField() { //set up the validator $requiredFields = new RequiredFields('Title'); //add a field $requiredFields->addRequiredField('Content'); //check it was added $this->assertEquals(array('Title', 'Content'), $requiredFields->getRequired(), "Failed to add a new field to the required list"); //add another for good measure $requiredFields->addRequiredField('Image'); //check it was added $this->assertEquals(array('Title', 'Content', 'Image'), $requiredFields->getRequired(), "Failed to add a second new field to the required list"); //remove a field $requiredFields->removeRequiredField('Title'); //check it was removed $this->assertEquals(array('Content', 'Image'), $requiredFields->getRequired(), "Failed to remove 'Title' field from required list"); //add the same field back to check we can add and remove at will $requiredFields->addRequiredField('Title'); //check it's in there $this->assertEquals(array('Content', 'Image', 'Title'), $requiredFields->getRequired(), "Failed to add 'Title' back to the required field list"); //add a field that already exists (we can't have the same field twice, can we?) $requiredFields->addRequiredField('Content'); //check the field wasn't added $this->assertEquals(array('Content', 'Image', 'Title'), $requiredFields->getRequired(), "Adding a duplicate field to required field list had unexpected behaviour"); }