You are here

BankAccountTest.php in Zircon Profile 8

File

vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php
View source
<?php

require_once 'BankAccount.php';
class BankAccountTest extends PHPUnit_Framework_TestCase {
  protected $ba;
  protected function setUp() {
    $this->ba = new BankAccount();
  }

  /**
   * @covers BankAccount::getBalance
   */
  public function testBalanceIsInitiallyZero() {
    $this
      ->assertEquals(0, $this->ba
      ->getBalance());
  }

  /**
   * @covers BankAccount::withdrawMoney
   */
  public function testBalanceCannotBecomeNegative() {
    try {
      $this->ba
        ->withdrawMoney(1);
    } catch (RuntimeException $e) {
      $this
        ->assertEquals(0, $this->ba
        ->getBalance());
      return;
    }
    $this
      ->fail();
  }

  /**
   * @covers BankAccount::depositMoney
   */
  public function testBalanceCannotBecomeNegative2() {
    try {
      $this->ba
        ->depositMoney(-1);
    } catch (RuntimeException $e) {
      $this
        ->assertEquals(0, $this->ba
        ->getBalance());
      return;
    }
    $this
      ->fail();
  }

  /**
   * @covers BankAccount::getBalance
   * @covers BankAccount::depositMoney
   * @covers BankAccount::withdrawMoney
   */
  public function testDepositWithdrawMoney() {
    $this
      ->assertEquals(0, $this->ba
      ->getBalance());
    $this->ba
      ->depositMoney(1);
    $this
      ->assertEquals(1, $this->ba
      ->getBalance());
    $this->ba
      ->withdrawMoney(1);
    $this
      ->assertEquals(0, $this->ba
      ->getBalance());
  }

}

Classes

Namesort descending Description
BankAccountTest