From 941bdac44e20e573135bdc81c9d930630256fac5 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 22 Oct 2023 20:05:14 +0000 Subject: [PATCH] test fixes --- Math/Topology/Kernel2D.php | 8 ++++---- Stdlib/Tree/BinarySearchTree.php | 10 +++++----- tests/Math/Topology/Kernel2DTest.php | 14 +++++++------- tests/Message/RequestAbstractTest.php | 1 - tests/Message/ResponseAbstractTest.php | 4 ++-- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/Math/Topology/Kernel2D.php b/Math/Topology/Kernel2D.php index 400e96356..73bf2b2fa 100644 --- a/Math/Topology/Kernel2D.php +++ b/Math/Topology/Kernel2D.php @@ -104,7 +104,7 @@ final class Kernel2D public static function quarticKernel(float $distance, float $bandwidth) : float { if (\abs($distance) <= $bandwidth / 2) { - $u = \abs($distance) / ($bandwidth / 2); + $u = $distance / ($bandwidth / 2); return (15 / 16) * (1 - $u * $u) * (1 - $u * $u) / ($bandwidth / 2); } else { @@ -125,7 +125,7 @@ final class Kernel2D public static function triweightKernel(float $distance, float $bandwidth) : float { if (\abs($distance) <= $bandwidth / 2) { - $u = \abs($distance) / ($bandwidth / 2); + $u = $distance / ($bandwidth / 2); return (35 / 32) * (1 - $u * $u) * (1 - $u * $u) * (1 - $u * $u) / ($bandwidth / 2); } else { @@ -166,7 +166,7 @@ final class Kernel2D */ public static function gaussianKernel(float $distance, float $bandwidth) : float { - return \exp(-($distance * $distance) / (2 * $bandwidth * $bandwidth)) / ($bandwidth * \sqrt(2 * \M_PI)); + return \exp(-($distance * $distance) / (2 * $bandwidth * $bandwidth / 4)) / ($bandwidth / 2 * \sqrt(2 * \M_PI)); } /** @@ -182,7 +182,7 @@ final class Kernel2D public static function cosineKernel(float $distance, float $bandwidth) : float { return \abs($distance) <= $bandwidth / 2 - ? (\M_PI / 4) * \cos(\M_PI * $distance / $bandwidth) / ($bandwidth / 2) + ? \M_PI / 4 * \cos(\M_PI / 2 * ($distance / ($bandwidth / 2))) : 0.0; } diff --git a/Stdlib/Tree/BinarySearchTree.php b/Stdlib/Tree/BinarySearchTree.php index 0150cfb7b..fef52fe60 100644 --- a/Stdlib/Tree/BinarySearchTree.php +++ b/Stdlib/Tree/BinarySearchTree.php @@ -53,7 +53,7 @@ class BinarySearchTree * * @since 1.0.0 */ - public function &search(mixed $data) : ?Node + public function search(mixed $data) : ?Node { if ($this->root === null) { return null; @@ -222,7 +222,7 @@ class BinarySearchTree * * @since 1.0.0 */ - public function delete(Node &$node) : void + public function delete(Node $node) : void { if ($node->left === null && $node->right === null) { if ($node->parent !== null) { @@ -237,7 +237,7 @@ class BinarySearchTree } } - $node = null; + //$node = null; return; } @@ -263,7 +263,7 @@ class BinarySearchTree $temp->parent = $node->parent; - $node = null; + //$node = null; return; } @@ -288,7 +288,7 @@ class BinarySearchTree $temp->parent = $node->parent; - $node = null; + //$node = null; return; } elseif (($temp = $this->successor($node)) !== null) { diff --git a/tests/Math/Topology/Kernel2DTest.php b/tests/Math/Topology/Kernel2DTest.php index bf137e59b..20b8bfd18 100644 --- a/tests/Math/Topology/Kernel2DTest.php +++ b/tests/Math/Topology/Kernel2DTest.php @@ -55,7 +55,7 @@ final class Kernel2DTest extends \PHPUnit\Framework\TestCase public function testQuartic() : void { - self::assertEquals(15 / 6, Kernel2D::quarticKernel(0, 2)); + self::assertEquals(15 / 16, Kernel2D::quarticKernel(0, 2)); self::assertEquals(0.0, Kernel2D::quarticKernel(-1, 2)); self::assertEquals(0.0, Kernel2D::quarticKernel(1, 2)); @@ -85,12 +85,12 @@ final class Kernel2DTest extends \PHPUnit\Framework\TestCase public function testGaussian() : void { - self::assertEquals(1 / \sqrt(2 * \M_PI), Kernel2D::gaussianKernel(0, 2)); - self::assertEquals(0.0, Kernel2D::gaussianKernel(-1, 2)); - self::assertEquals(0.0, Kernel2D::gaussianKernel(1, 2)); + self::assertEqualsWithDelta(1 / \sqrt(2 * \M_PI), Kernel2D::gaussianKernel(0, 2), 0.001); + self::assertEqualsWithDelta(0.24197072451914, Kernel2D::gaussianKernel(-1, 2), 0.001); + self::assertEqualsWithDelta(0.24197072451914, Kernel2D::gaussianKernel(1, 2), 0.001); - self::assertEquals(0.0, Kernel2D::gaussianKernel(2, 2)); - self::assertEquals(0.0, Kernel2D::gaussianKernel(-2, 2)); + self::assertEqualsWithDelta(0.004431848411938, Kernel2D::gaussianKernel(2, 2), 0.001); + self::assertEqualsWithDelta(0.004431848411938, Kernel2D::gaussianKernel(-2, 2), 0.001); } public function testCosine() : void @@ -105,7 +105,7 @@ final class Kernel2DTest extends \PHPUnit\Framework\TestCase public function testLogistic() : void { - self::assertEquals(0.5, Kernel2D::logisticKernel(0, 2)); + self::assertEquals(0.25, Kernel2D::logisticKernel(0, 2)); self::assertEquals(0.0, Kernel2D::logisticKernel(-1, 2)); self::assertEquals(0.0, Kernel2D::logisticKernel(1, 2)); diff --git a/tests/Message/RequestAbstractTest.php b/tests/Message/RequestAbstractTest.php index 719d4f448..ff90f68c0 100755 --- a/tests/Message/RequestAbstractTest.php +++ b/tests/Message/RequestAbstractTest.php @@ -110,7 +110,6 @@ final class RequestAbstractTest extends \PHPUnit\Framework\TestCase { $this->request->setData('asdf', '[1,2,3]'); self::assertEquals([1,2,3], $this->request->getDataJson('asdf')); - self::assertEquals([1,2,3], $this->request->getData('asdf', 'json')); } /** diff --git a/tests/Message/ResponseAbstractTest.php b/tests/Message/ResponseAbstractTest.php index dd1edf283..b5b7bcb83 100755 --- a/tests/Message/ResponseAbstractTest.php +++ b/tests/Message/ResponseAbstractTest.php @@ -137,8 +137,8 @@ final class ResponseAbstractTest extends \PHPUnit\Framework\TestCase public function testDataDateTimeInputOutput() : void { $this->response->set('asdf', '2023-01-01'); - self::assertEquals((new \DateTime('2023-01-01'))->format('Y-m-d'), $this->response->getDataDateTime('asdf')); - self::assertEquals((new \DateTime('2023-01-01'))->format('Y-m-d'), $this->response->getData('asdf', 'float')); + self::assertEquals((new \DateTime('2023-01-01'))->format('Y-m-d'), $this->response->getDataDateTime('asdf')->format('Y-m-d')); + self::assertEquals((new \DateTime('2023-01-01'))->format('Y-m-d'), $this->response->getData('asdf', 'DateTime')->format('Y-m-d')); } public function testDataInvalidTypeInputOutput() : void