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());
 }