<?php
require_once '../NumberCruncher.php';
class NumberCruncherTest extends PHPUnit_Framework_TestCase {
private $nc;
protected function setUp() {
parent::setUp ();
$this->nc = new NumberCruncher();
}
protected function tearDown() {
$this->nc = null;
parent::tearDown ();
}
public function testOperationA() {
$this->assertEquals( 5, $this->nc->operationA(1));
$this->assertEquals(10, $this->nc->operationA(6));
$this->assertEquals(12, $this->nc->operationA(8));
$this->assertEquals(42, $this->nc->operationA(38));
}
public function testOperationB() {
$this->assertEquals(0 , $this->nc->operationB(0));
$this->assertEquals(7.5, $this->nc->operationB(2.5));
$this->assertEquals(42 , $this->nc->operationB(14));
$this->assertEquals(-6 , $this->nc->operationB(-2));
}
public function testOperationC() {
$this->assertEquals(0.5 , $this->nc->operationC(1));
$this->assertEquals(2 , $this->nc->operationC(2));
$this->assertEquals(4.5 , $this->nc->operationC(3));
$this->assertEquals(8 , $this->nc->operationC(4));
$this->assertEquals(12.5, $this->nc->operationC(5));
$this->assertEquals(18 , $this->nc->operationC(6));
$this->assertEquals(24.5, $this->nc->operationC(7));
$this->assertEquals(32 , $this->nc->operationC(8));
$this->assertEquals(40.5, $this->nc->operationC(9));
$this->assertEquals(50 , $this->nc->operationC(10));
}
public function testOperationD() {
$this->assertEquals(1 , $this->nc->operationD(0));
$this->assertEquals(120, $this->nc->operationD(5));
$this->assertEquals(1 , $this->nc->operationD(1));
$this->assertEquals(6 , $this->nc->operationD(3));
$this->assertEquals(720, $this->nc->operationD(6));
}
public function testOperationE() {
$this->assertEquals(5 , $this->nc->operationE(5));
$this->assertEquals(0 , $this->nc->operationE(0));
$this->assertEquals(1 , $this->nc->operationE(1));
$this->assertEquals(2 , $this->nc->operationE(3));
$this->assertEquals(13, $this->nc->operationE(7));
$this->assertEquals(3 , $this->nc->operationE(4));
$this->assertEquals(34, $this->nc->operationE(9));
}
public function testOperationF() {
$this->assertEquals(4.5 , $this->nc->operationF(1));
$this->assertEquals(40.5 , $this->nc->operationF(3));
$this->assertEquals(112.5, $this->nc->operationF(5));
$this->assertEquals(220.5, $this->nc->operationF(7));
$this->assertEquals(364.5, $this->nc->operationF(9));
$this->assertEquals(0 , $this->nc->operationF(0));
$this->assertEquals(18 , $this->nc->operationF(2));
$this->assertEquals(72 , $this->nc->operationF(4));
$this->assertEquals(162 , $this->nc->operationF(6));
$this->assertEquals(288 , $this->nc->operationF(8));
$this->assertEquals(450 , $this->nc->operationF(10));
}
public function testOperationG() {
$this->assertEquals(1 , $this->nc->operationG(0));
$this->assertEquals(0 , $this->nc->operationG(1));
$this->assertEquals(1 , $this->nc->operationG(2));
$this->assertEquals(4 , $this->nc->operationG(3));
$this->assertEquals(21 , $this->nc->operationG(4));
$this->assertEquals(115 , $this->nc->operationG(5));
$this->assertEquals(712 , $this->nc->operationG(6));
$this->assertEquals(5027 , $this->nc->operationG(7));
$this->assertEquals(40299 , $this->nc->operationG(8));
$this->assertEquals(362846 , $this->nc->operationG(9));
}
}