/**
  *  Convert data array into entity
  *
  *  @return AccountGroup
  *  @param array $data
  *  @access public
  */
 public function build($data)
 {
     $group = new AccountGroup();
     $group->setGroupName($data['group_name']);
     $group->setGroupDescription($data['group_description']);
     $group->setDateAdded($data['group_date_added']);
     $group->setDateRemoved($data['group_date_removed']);
     $group->setGroupID($data['group_id']);
     # parent group is not included, but mapped via the marshaler
     return $group;
 }
 public function testAccountGroupBuilderDemolish()
 {
     $name = 'an entity group';
     $description = 'A description of entity group';
     $dateRemoved = new DateTime();
     $dateRemoved->setDate(3000, 1, 1);
     $dateAdded = new DateTime();
     $groupID = 100;
     $parentGroup = 5;
     $builder = new AccountGroupBuilder();
     $entity = new AccountGroup();
     $entity->setName($name);
     $entity->setDescription($description);
     $entity->setDateAdded($dateAdded);
     $entity->setDateRemoved($dateRemoved);
     $entity->setGroupID($groupID);
     $entity->setParentGroupID($parentGroup);
     $columns = array('group_name' => $name, 'group_description' => $description, 'group_date_added' => $dateAdded, 'group_date_removed' => $dateRemoved, 'group_id' => $groupID, 'parent_group_id' => $parentGroup);
     $this->assertEquals($builder->demolish($entity), $columns);
 }
 /**
  * @expectedException IComeFromTheNet\Ledger\Exception\LedgerException
  * @expectedExceptionMessage AccountGroupID must be an integer > 0
  * 
  */
 public function testErrorAccountGroupNegativeGroupID()
 {
     $groupID = -1;
     $group = new AccountGroup();
     $group->setGroupID($groupID);
 }