list = [ new NumericElement(5), new NumericElement(1), new NumericElement(4), new NumericElement(2), new NumericElement(8), ]; } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox('A list with one element returns the list with the element itself')] public function testSmallList() : void { $smallList = [new NumericElement(3)]; $newList = HeapSort::sort($smallList); self::assertEquals($smallList, $newList); } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox('A list ot elements can be sorted in ASC order')] public function testSortASC() : void { $newList = HeapSort::sort($this->list); self::assertEquals( [1, 2, 4, 5, 8], [$newList[0]->value, $newList[1]->value, $newList[2]->value, $newList[3]->value, $newList[4]->value,] ); self::assertEquals( [5, 1, 4, 2, 8], [$this->list[0]->value, $this->list[1]->value, $this->list[2]->value, $this->list[3]->value, $this->list[4]->value,] ); } #[\PHPUnit\Framework\Attributes\Group('framework')] #[\PHPUnit\Framework\Attributes\TestDox('A list ot elements can be sorted in DESC order')] public function testSortDESC() : void { $newList = HeapSort::sort($this->list, SortOrder::DESC); self::assertEquals( [8, 5, 4, 2, 1], [$newList[0]->value, $newList[1]->value, $newList[2]->value, $newList[3]->value, $newList[4]->value,] ); self::assertEquals( [5, 1, 4, 2, 8], [$this->list[0]->value, $this->list[1]->value, $this->list[2]->value, $this->list[3]->value, $this->list[4]->value,] ); } }