/**
  * Generate the appropriate code for a simple model class
  * for a non aggregate root domain object with one boolean property
  *
  * @test
  */
 function generateCodeForModelClassWithBooleanProperty()
 {
     $modelName = 'ModelCgt1';
     $propertyName = 'blue';
     $domainObject = $this->buildDomainObject($modelName);
     $property = new Tx_ExtensionBuilder_Domain_Model_DomainObject_BooleanProperty();
     $property->setName($propertyName);
     $property->setRequired(TRUE);
     $domainObject->addProperty($property);
     $classFileContent = $this->codeGenerator->generateDomainObjectCode($domainObject, TRUE);
     $this->assertRegExp("/.*class Tx_Dummy_Domain_Model_ModelCgt1.*/", $classFileContent, 'Class declaration was not generated');
     $this->assertRegExp('/.*protected \\$blue.*/', $classFileContent, 'boolean property was not generated');
     $this->assertRegExp('/.*\\* \\@var boolean.*/', $classFileContent, 'var tag for boolean property was not generated');
     $this->assertRegExp('/.*\\* \\@validate NotEmpty.*/', $classFileContent, 'validate tag for required property was not generated');
     $this->assertRegExp('/.*public function getBlue\\(\\).*/', $classFileContent, 'Getter for boolean property was not generated');
     $this->assertRegExp('/.*public function setBlue\\(\\$blue\\).*/', $classFileContent, 'Setter for boolean property was not generated');
     $this->assertRegExp('/.*public function isBlue\\(\\).*/', $classFileContent, 'is method for boolean property was not generated');
 }