Viewing file: static_methods.php (4.39 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php // // +----------------------------------------------------------------------+ // | PHP version 4.0 | // +----------------------------------------------------------------------+ // | Copyright (c) 1997-2001 The PHP Group | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.02 of the PHP license, | // | that is bundled with this package in the file LICENSE, and is | // | available at through the world-wide-web at | // | http://www.php.net/license/2_02.txt. | // | If you did not receive a copy of the PHP license and are unable to | // | obtain it through the world-wide-web, please send a note to | // | license@php.net so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | Authors: Jesus M. Castagnetto <jmcastagnetto@php.net> | // +----------------------------------------------------------------------+ // // Matrix definition and manipulation package // // $Id: static_methods.php,v 1.1 2003/05/16 22:28:18 jmcastagnetto Exp $ //
require_once 'PHPUnit.php'; require_once 'Math/Matrix.php'; //require_once '../Matrix.php';
class Math_Matrix_Static_Methods_Test extends PHPUnit_TestCase { var $m; var $data = array( array(1.0,2.0,3.0,4.0), array(5.0,6.0,7.0,8.0), array(1.0,4.0,5.0,7.0), array(2.0,3.0,-3.0,4.0) );
function Math_Matrix_Static_Methods_Test($name) { $this->PHPUnit_TestCase($name); }
function setUp() { $this->m = new Math_Matrix($this->data); }
function testWriteToFile() { $this->assertTrue(Math_Matrix::writeToFile($this->m, 'testdata.mat', 'csv')); }
function testReadFromFile() { $p = Math_Matrix::readFromFile('testdata.mat', 'csv'); $this->assertEquals($this->m->getData(), $p->getData()); }
function testIsMatrix() { $this->assertTrue(Math_Matrix::isMatrix($this->m)); }
function testMakeMatrix() { $data = array ( array(3.0,3.0,3.0), array(3.0,3.0,3.0) ); $q = Math_Matrix::makeMatrix(2,3,3.0); $this->assertEquals($data, $q->getData()); }
function testMakeZero() { $data = array ( array(0.0,0.0,0.0), array(0.0,0.0,0.0) ); $q = Math_Matrix::makeZero(2,3); $this->assertEquals($data, $q->getData()); }
function testMakeOne() { $data = array ( array(1.0,1.0), array(1.0,1.0), array(1.0,1.0) ); $q = Math_Matrix::makeOne(3,2); $this->assertEquals($data, $q->getData()); }
function testMakeUnit() { $data = array ( array(1.0,0.0,0.0), array(0.0,1.0,0.0), array(0.0,0.0,1.0) ); $q = Math_Matrix::makeUnit(3); $this->assertEquals($data, $q->getData()); }
function testSolve() { $adata = array( array(-4.0,3.0,-4.0,-1.0), array(-2.0,0.0,-5.0,3.0), array(-1.0,-1.0,-3.0,-4.0), array(-3.0,2.0,4.0,-1.0) ); $bdata = array(-37.0,-20.0,-27.0,7.0); $res = array(2.0,-2.0,5.0,3.0); $a = new Math_Matrix($adata); $b = new Math_Vector($bdata); $x = Math_Matrix::solve($a, $b); $t = $x->getTuple(); $this->assertEquals($res, $t->data); }
function testSolveEC() { $adata = array( array(-4.0,3.0,-4.0,-1.0), array(-2.0,0.0,-5.0,3.0), array(-1.0,-1.0,-3.0,-4.0), array(-3.0,2.0,4.0,-1.0) ); $bdata = array(-37.0,-20.0,-27.0,7.0); $res = array(2.0,-2.0,5.0,3.0); $a = new Math_Matrix($adata); $b = new Math_Vector($bdata); $x = Math_Matrix::solveEC($a, $b); $t = $x->getTuple(); $this->assertEquals($res, $t->data); }
}
$suite = new PHPUnit_TestSuite('Math_Matrix_Static_Methods_Test'); $result = PHPUnit::run($suite); echo $result->toString()."\n";
// vim: ts=4:sw=4:et: // vim6: fdl=1: ?>
|