コード例 #1
0
 function testDistanceSearch()
 {
     $testSpine = new WMSpine();
     $testSpine->addPoint(new WMPoint(50, 50));
     $testSpine->addPoint(new WMPoint(150, 50));
     $testSpine->addPoint(new WMPoint(150, 150));
     $this->assertEquals(200, $testSpine->totalDistance());
     $this->assertEquals(3, $testSpine->pointCount());
     $index = $testSpine->findIndexNearDistance(110);
     $this->assertEquals(1, $index);
     $index = $testSpine->findIndexNearDistance(90);
     $this->assertEquals(0, $index);
     $testSpine->addPoint(new WMPoint(0, 150));
     $testSpine->addPoint(new WMPoint(0, 0));
     $this->assertEquals(500, $testSpine->totalDistance());
     $index = $testSpine->findIndexNearDistance(250);
     $this->assertEquals(2, $index);
     $index = $testSpine->findIndexNearDistance(600);
     $this->assertEquals(4, $index);
     $index = $testSpine->findIndexNearDistance(100);
     $this->assertEquals(1, $index);
     $index = $testSpine->findIndexNearDistance(100);
     $this->assertEquals(1, $index);
     $index = $testSpine->findIndexNearDistance(-100);
     $this->assertEquals(0, $index);
 }