public function distance(array $a, array $b) : float { if (count($a) !== count($b)) { throw InvalidArgumentException::arraySizeNotMatch(); } $differences = []; $count = count($a); for ($i = 0; $i < $count; ++$i) { $differences[] = abs($a[$i] - $b[$i]); } return max($differences); }
public function testCalculateDistanceForThreeDimensions() { $a = [6, 10, 3]; $b = [2, 5, 5]; $expectedDistance = 5; $actualDistance = $this->distanceMetric->distance($a, $b); $this->assertEquals($expectedDistance, $actualDistance); }