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");
 }