コード例 #1
0
 /**
  * Persists the provided account.
  *
  * @param BankAccount $account
  * @return int The account ID
  */
 public function persist(BankAccount $account)
 {
     if ($account->getId()) {
         $stmt = $this->database->prepare('update account set balance = ? where id = ?');
         $stmt->execute([$account->getBalance(), $account->getId()]);
         return $account->getId();
     } else {
         $stmt = $this->database->prepare('insert into account (balance) values (?)');
         $stmt->execute([$account->getBalance()]);
         return $this->database->lastInsertId();
     }
 }
コード例 #2
0
 public function testWithdrawingMoneyDecreasesTheBalanceByTheAmountWithdrawn()
 {
     $account = new BankAccount(100);
     $account->withdraw(100);
     $this->assertSame(0, $account->getBalance());
 }