public function testInvert() { $a = array(array(2, 3), array(3, 4)); $b = array(array(-4, 3), array(3, -2)); $am = new LL_Matrix($a); $bm = new LL_Matrix($b); $this->assertEquals($am->invert(), $bm); $this->assertEquals($bm->invert(), $am); $this->assertEquals($am->multiply($am->invert()), $this->getIdentityMatrix(2)); // this tests a property about matrix multiplication. could find bugs in a variety of places though, not necessarily just in invert $this->assertEquals($bm->multiply($bm->invert()), $this->getIdentityMatrix(2)); // this tests a property about matrix multiplication. could find bugs in a variety of places though, not necessarily just in invert $this->assertEquals($this->getIdentityMatrix(4)->invert(), $this->getIdentityMatrix(4)); }