View source
<?php
require_once drupal_get_path('module', 'location') . '/earth.inc';
require_once drupal_get_path('module', 'location') . '/tests/location_testcase.php';
class LocationEarthTest extends LocationUnitTestCase {
function getInfo() {
return array(
'name' => 'Location earth.inc tests',
'description' => 'Test earth.inc calculations.',
'group' => 'Location',
);
}
function testXYZ() {
$expected = array(
5076436.1926031,
3086400.2318368,
2312685.5571307,
);
$result = earth_xyz(31.299, 21.4);
$this
->assertArrayEpsilon($result, $expected, 0.01);
$expected = array(
1179389.7524227,
605469.92806515,
6217918.5984722,
);
$result = earth_xyz(27.174858, 78.042383);
$this
->assertArrayEpsilon($result, $expected, 0.01, 'Taj Mahal');
$expected = array(
-1667195.89356,
-1256280.4293852,
-6006637.16009,
);
$result = earth_xyz(36.999084, -109.045223);
$this
->assertArrayEpsilon($result, $expected, 0.01, 'Four Corners');
$expected = array(
-335727.75631839,
-2620765.1318567,
-5785664.2896111,
);
$result = earth_xyz(82.7, -114.4);
$this
->assertArrayEpsilon($result, $expected, 0.01, 'North Magnetic Pole');
$expected = array(
-976074.7749119099,
-942362.77881868,
-6211268.2459008,
);
$result = earth_xyz(43.993266, -102.241794);
$this
->assertArrayEpsilon($result, $expected, 0.01, 'Wall Drug');
}
}