public function testFourTransactions() { $transactionRecord = new TransactionRecord(array()); $transactionRecord->addTransaction($this->mTransaction4); $transactionRecord->addTransaction($this->mTransaction1); $transactionRecord->addTransaction($this->mTransaction3); $transactionRecord->addTransaction($this->mTransaction2); $expectedExpenses = array('Some expense' => array(TransactionRecord::TRANSACTIONS => array($this->mTransaction1), TransactionRecord::EXPENSES_TOTAL => 10.1), 'Some other expense' => array(TransactionRecord::TRANSACTIONS => array($this->mTransaction3, $this->mTransaction2), TransactionRecord::EXPENSES_TOTAL => 15.0), 'More expenses' => array(TransactionRecord::TRANSACTIONS => array($this->mTransaction4), TransactionRecord::EXPENSES_TOTAL => 5.0)); $expectedDaily = array('2015-01-01' => 10.1, '2015-01-02' => 20.1, '2015-01-05' => 30.1); $this->assertEquals(4, $transactionRecord->getNumTransactions()); $this->assertEquals(30.1, $transactionRecord->getTotalBalance(), '', 0.01); $this->assertEquals(array($this->mTransaction4, $this->mTransaction1, $this->mTransaction3, $this->mTransaction2), $transactionRecord->getRawTransactionData()); $this->assertEquals($expectedExpenses, $transactionRecord->getExpenses()); $this->assertEquals($expectedExpenses, $transactionRecord->generateExpenseList()); $this->assertEquals($expectedDaily, $transactionRecord->getDailyBalances()); $this->assertEquals($expectedDaily, $transactionRecord->generateDailyCalculatedBalances()); }