| 
<?
// You can get PHPUnit at http://sourceforge.net/projects/phpunit/
 /*
 if (!defined('PHPUnit')) {
 define('PHPUnit', 'Path to PHPUnit');
 }
 */
 
 require_once(PHPUnit . 'PHPUnit.php');
 require_once('Integer.class.php');
 
 class IntegerTest extends PHPUnit_TestCase {
 var $integer;
 
 /**
 * The constructor.
 * @param $name    String    The name of the Unit Test.
 * @param &$object Compiler  The Compiler, or its derivative, object.
 */
 function IntegerTest($name) {
 $this->PHPUnit_TestCase($name);
 }
 
 function setUp() {
 $this->integer = new Integer(200);
 }
 
 function tearDown() {}
 
 function testSet() {
 $this->integer->set(500);
 $this->assertEquals('500', $this->integer->get());
 }
 
 function testGet() {
 $this->assertEquals('200', $this->integer->get());
 }
 
 function testGetBase() {
 $this->assertEquals(10, $this->integer->getBase());
 }
 
 function testToBin() {
 $this->assertEquals('11001000', $this->integer->toBin());
 $this->assertEquals('0011001000', $this->integer->toBin(10));
 }
 
 function testToOct() {
 $this->assertEquals('310', $this->integer->toOct());
 $this->assertEquals('00310', $this->integer->toOct(5));
 }
 
 function testToDec() {
 $this->assertEquals('200', $this->integer->toDec());
 $this->assertEquals('00200', $this->integer->toDec(5));
 }
 
 function testToHex() {
 $this->assertEquals('C8', $this->integer->toHex());
 $this->assertEquals('000C8', $this->integer->toHex(5));
 }
 
 function testConvert() {
 $this->assertEquals('5', Integer::convert('5', 10, 16));
 $this->assertEquals('21', Integer::convert('15', 16, 10));
 $this->assertEquals('10101', Integer::convert('15', 16, 2));
 }
 
 function testAdd() {
 //$this->assertEquals('18', $this->integer->add('10', '8'));
 $this->assertEquals('18', Integer::add('10', '8'));
 $this->assertEquals('2349823480206097', Integer::add('382348', '2349823479823749'));
 $this->assertEquals('-2', Integer::add('-10', '8'));
 $this->assertEquals('-348', Integer::add('-10', '-338'));
 $this->assertEquals('1B', Integer::add('13', '8', 16));
 $this->assertEquals('4BC1800', Integer::add('3bcdd33', 'ff3acd', 16));
 $this->assertEquals('-2BDA266', Integer::add('-3BCDD33', 'FF3ACD', 16));
 }
 
 function testSub() {
 $this->assertEquals('2', Integer::sub('9', '7'));
 $this->assertEquals('2', Integer::sub('10', '8'));
 $this->assertEquals('-2349823479441401', Integer::sub('382348', '2349823479823749'));
 $this->assertEquals('18', Integer::sub('10', '-8'));
 $this->assertEquals('-2', Integer::sub('-10', '-8'));
 
 }
 
 function testMul() {
 $this->assertEquals('63', Integer::mul('9', '7'));
 $this->assertEquals('-80', Integer::mul('10', '-8'));
 $this->assertEquals('80', Integer::mul('-10', '-8'));
 $this->assertEquals('64', Integer::mul('A', 'A', 16));
 $this->assertEquals('3C98FD57F18', Integer::mul('3cc3c', 'ff4bdA', 16));
 //$this->assertEquals('-2', $this->integer->sub('-10', '-8'));
 }
 
 function testDiv() {
 $this->assertEquals('1', Integer::div('9', '7'));
 $this->assertEquals('10', Integer::div('100', '10'));
 $this->assertEquals('20', Integer::div('100', '5'));
 $this->assertEquals('-10', Integer::div('-100', '10'));
 $this->assertEquals('440FA', Integer::div('FF3acd', '3c', 16));
 $this->assertEquals('440FAE317A0BA6F', Integer::div('FF3acd3989abb239', '3c', 16));
 }
 
 function testMod() {
 $this->assertEquals('2', Integer::mod('9', '7'));
 $this->assertEquals('0', Integer::mod('100', '10'));
 $this->assertEquals('0', Integer::mod('100', '5'));
 $this->assertEquals('0', Integer::mod('-100', '10'));
 $this->assertEquals('35', Integer::mod('FF3acd', '3c', 16));
 $this->assertEquals('35', Integer::mod('FF3acd3989abb239', '3c', 16));
 }
 }
 ?>
 |