@microf

Как сделать тест и спроектировать метод?

Добрый день.
Есть сущность, которая хранит бухгалтерские балансы за несколько лет:
$company = new Company(
                $id = ID::generate(),
                $name = new Name('Ромашка"'),                
                ....
                $accounting = [          
                    new BalanceSheet('2017,'356743','-56913','189632','122733'),
                    new BalanceSheet('2018','76743','-16953','1492','233')
                ]
        );

Я хотел бы спроектировать возможность изменения баланса, хранящегося в $accounting
Т.е. сделать какой то метод refreshBalance
Пишу тест
$company = (new CreateBuilder())
                ->withAccounting([
                                                     //year// 
                     new BalanceSheet('2018','356743','-56913','189632','122733'),
                    new BalanceSheet('2018','76743','-16953','1492','233')
                    ])
                ->build();
     $company->refreshBalance($newBalance = new BalanceSheet('2018', '556743', '-56913', '189632', '122733'));
        $this->assertEquals($newBalance, $company->getBalance('2018'));

И тут я не могу сообразить. Если я сделаю метод для получения баланса за определенный год, то мне делать год ключом?
getBalance($year) { return а что ретурн он должен?}

Нужно сделать year ключем в
BalanceSheet('2018', ['556743', '-56913', '189632', '122733']))
?
И соответственно делать
refreshBalance(new BalanceSheet('2018', ['556743', '-56913', '189632', '122733'])))
, а метод должен проверять `2018`?
Извините, если сумбурно написал
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы