public function __construct(Chart $chart, Nominal $id, AccountType $type, StringType $name)
 {
     $this->chart = $chart;
     $this->id = $id;
     $this->type = $type;
     $this->name = $name;
     $currencyClass = $this->chart->getOrg()->getCurrencyCode()->get();
     $this->acDr = Factory::create($currencyClass);
     $this->acCr = Factory::create($currencyClass);
 }
 public function testYouCanDeleteAnAccountIfItsBalanceIsZero()
 {
     $ac1 = new Account($this->sut, new Nominal('9998'), AccountType::ASSET(), new StringType('Asset'));
     $this->sut->addAccount($ac1);
     $ac1->debit(Factory::create($this->sut->getOrg()->getCurrencyCode()));
     $this->sut->delAccount($ac1->getId());
     $this->assertFalse($this->sut->hasAccount($ac1->getId()));
     $ac2 = new Account($this->sut, new Nominal('9999'), AccountType::LIABILITY(), new StringType('Asset'));
     $this->sut->addAccount($ac2);
     $ac1->credit(Factory::create($this->sut->getOrg()->getCurrencyCode()));
     $this->sut->delAccount($ac2->getId());
     $this->assertFalse($this->sut->hasAccount($ac2->getId()));
 }