diff --git a/composer.json b/composer.json index ecbbc1e..55d033c 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ }, "require-dev": { "phpunit/phpunit": "^9", - "phpstan/phpstan": "^0.12.91", + "phpstan/phpstan": "^1.3.3", "vimeo/psalm": "^4.8", "phpbench/phpbench": "^1.0", "squizlabs/php_codesniffer": "^3.6", diff --git a/tests/Benchmark/CountIntersectionsBench.php b/tests/Benchmark/CountIntersectionsBench.php index d5f8001..c26d6cd 100644 --- a/tests/Benchmark/CountIntersectionsBench.php +++ b/tests/Benchmark/CountIntersectionsBench.php @@ -1,4 +1,5 @@ bruteForceList = []; for ($i = 0; $i < self::AMOUNT_INTERVALS_IN_TREE; $i++) { - $interval = $this->generateInterval(); + $interval = $this->generateInterval(self::MAX_INTERVAL_HIGH, self::MAX_INTERVAL_OFFSET); $this->tree->insert($interval); $this->bruteForceList[] = $interval; } @@ -45,7 +46,7 @@ public function init(): void */ public function benchTree(): void { - $searchedInterval = $this->generateInterval(); + $searchedInterval = $this->generateInterval(self::MAX_INTERVAL_HIGH, self::MAX_INTERVAL_OFFSET); $this->tree->countIntersections($searchedInterval); } @@ -54,7 +55,7 @@ public function benchTree(): void */ public function benchBruteForce(): void { - $searchedInterval = $this->generateInterval(); + $searchedInterval = $this->generateInterval(self::MAX_INTERVAL_HIGH, self::MAX_INTERVAL_OFFSET); foreach ($this->bruteForceList as $interval) { $interval->intersect($searchedInterval); } diff --git a/tests/Benchmark/GenerateIntervalTrait.php b/tests/Benchmark/GenerateIntervalTrait.php index 18a0fb1..7b81a77 100644 --- a/tests/Benchmark/GenerateIntervalTrait.php +++ b/tests/Benchmark/GenerateIntervalTrait.php @@ -1,25 +1,28 @@ getMessage(); - exit; + throw new InvalidArgumentException('Wrong interval arguments', $exception->getCode(), $exception); } return new NumericInterval($low, $high); } -} \ No newline at end of file +} diff --git a/tests/Benchmark/HasIntersectionBench.php b/tests/Benchmark/HasIntersectionBench.php index dbf1e18..5dfe650 100644 --- a/tests/Benchmark/HasIntersectionBench.php +++ b/tests/Benchmark/HasIntersectionBench.php @@ -1,11 +1,11 @@ bruteForceList = []; for ($i = 0; $i < self::AMOUNT_INTERVALS_IN_TREE; $i++) { - $interval = $this->generateInterval(); + $interval = $this->generateInterval(self::MAX_INTERVAL_HIGH, self::MAX_INTERVAL_OFFSET); $this->tree->insert($interval); $this->bruteForceList[] = $interval; } @@ -46,7 +46,7 @@ public function init(): void */ public function benchTree(): void { - $searchedInterval = $this->generateInterval(); + $searchedInterval = $this->generateInterval(self::MAX_INTERVAL_HIGH, self::MAX_INTERVAL_OFFSET); $this->tree->hasIntersection($searchedInterval); } @@ -55,26 +55,11 @@ public function benchTree(): void */ public function benchBruteForce(): void { - $searchedInterval = $this->generateInterval(); + $searchedInterval = $this->generateInterval(self::MAX_INTERVAL_HIGH, self::MAX_INTERVAL_OFFSET); foreach ($this->bruteForceList as $interval) { if ($interval->intersect($searchedInterval)) { break; } } } - - /** - * @return NumericInterval - */ - private function generateInterval(): NumericInterval - { - try { - $low = random_int(0, self::MAX_INTERVAL_HIGH); - $high = random_int($low, min($low + self::MAX_INTERVAL_OFFSET, self::MAX_INTERVAL_HIGH)); - } catch (Exception $exception) { - echo 'Cannot generate interval: ' . $exception->getMessage(); - exit; - } - return new NumericInterval($low, $high); - } }