getM()); $vec = new Vector(5); self::assertCount(5, $vec->toArray()); } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox('The vector values can be set and returned')] public function testValueInputOutput() : void { $vec = new Vector(5); $vec->setMatrixV([1, 2, 3, 4, 5]); self::assertEquals(2, $vec->getV(1)); $vec->setV(3, 9); self::assertEquals(9, $vec->getV(3)); } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox('The vector dimension can be returned')] public function testDim() : void { $vec = new Vector(5); $vec->setMatrixV([1, 2, 3, 4, 5]); self::assertEquals(5, $vec->getM()); } public function testCosine() : void { $v1 = Vector::fromArray([3, 4, 0]); $v2 = Vector::fromArray([4, 4, 2]); self::assertEqualsWithDelta(14 / 15, $v1->cosine($v2), 0.1); } public function testCross3() : void { self::assertEquals( [-15, -2, 39], Vector::fromArray([3, -3, 1])->cross3(Vector::fromArray([4, 9, 2]))->toVectorArray() ); } }