expectException(\Exception::class); factorial(-25); } public function testIsPrime() { assertTrue(isPrime(73)); assertFalse(isPrime(21)); assertFalse(isPrime(1)); assertTrue(isPrime(997)); } public function testAbsoluteMax() { assertEquals(50, absolute_max(12, 20, 35, 50, 50, 23)); assertEquals(13, absolute_max(13)); assertEquals(54, absolute_max(12, 13, 54, 22)); $this->expectException(\Exception::class); absolute_max(); } public function testAbsoluteMin() { assertEquals(12, absolute_min(12, 20, 35, 50, 50, 23)); assertEquals(13, absolute_min(13)); assertEquals(12, absolute_min(12, 13, 54, 22)); $this->expectException(\Exception::class); absolute_min(); } public function testPerfectSquare() { assertTrue(is_perfect_square(25)); assertFalse(is_perfect_square(43)); assertFalse(is_perfect_square(2)); assertTrue(is_perfect_square(225)); } public function testFastExponentiation() { assertEquals(fastExponentiation(10, 0), 1); assertEquals(fastExponentiation(10, 1), 10); assertEquals(fastExponentiation(10, 2), 100); assertEquals(fastExponentiation(10, 3), 1000); assertEquals(fastExponentiation(20, 5), 3200000); } public function testFibonacciSeries() { assertEquals([0, 1, 1, 2, 3], fibonacciRecursive(5)); assertEquals([0, 1, 1, 2, 3, 5, 8, 13, 21, 34], fibonacciRecursive(10)); assertEquals([0, 1, 1, 2, 3], fibonacciWithBinetFormula(5)); assertEquals([0, 1, 1, 2, 3, 5, 8, 13, 21, 34], fibonacciWithBinetFormula(10)); } }