Merge remote-tracking branch 'yasitha/master'
This commit is contained in:
commit
ded256cab3
@ -59,7 +59,7 @@ class PMA_GIS_Geometrycollection extends PMA_GIS_Geometry
|
||||
|
||||
// Trim to remove leading 'GEOMETRYCOLLECTION(' and trailing ')'
|
||||
$goem_col = substr($spatial, 19, (strlen($spatial) - 20));
|
||||
|
||||
|
||||
// Split the geometry collection object to get its constituents.
|
||||
$sub_parts = $this->_explodeGeomCol($goem_col);
|
||||
|
||||
@ -323,7 +323,6 @@ class PMA_GIS_Geometrycollection extends PMA_GIS_Geometry
|
||||
foreach ($sub_parts as $sub_part) {
|
||||
$type_pos = stripos($sub_part, '(');
|
||||
$type = substr($sub_part, 0, $type_pos);
|
||||
|
||||
$gis_obj = PMA_GIS_Factory::factory($type);
|
||||
if (! $gis_obj) {
|
||||
continue;
|
||||
|
||||
@ -266,6 +266,7 @@ class PMA_GIS_GeometryTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
|
||||
public function providerForTestGetBoundsForOl() {
|
||||
|
||||
return array(
|
||||
array(
|
||||
4326,
|
||||
@ -273,12 +274,12 @@ class PMA_GIS_GeometryTest extends PHPUnit_Framework_TestCase
|
||||
'minX' => '0',
|
||||
'minY' => '0',
|
||||
'maxX' => '1',
|
||||
'maxY' => '1'
|
||||
'maxY' => '1',
|
||||
),
|
||||
'bound = new OpenLayers.Bounds(); bound.extend(new OpenLayers.LonLat(0, 0).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject())); bound.extend(new OpenLayers.LonLat(1, 1).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()));'
|
||||
),
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -290,6 +291,7 @@ class PMA_GIS_GeometryTest extends PHPUnit_Framework_TestCase
|
||||
*@dataProvider providerForTestGetPolygonArrayForOpenLayers
|
||||
*/
|
||||
public function testGetPolygonArrayForOpenLayers($polygons, $srid, $output){
|
||||
|
||||
$this->assertEquals(
|
||||
$this->_callProtectedFunction(
|
||||
'getPolygonArrayForOpenLayers',
|
||||
@ -298,16 +300,18 @@ class PMA_GIS_GeometryTest extends PHPUnit_Framework_TestCase
|
||||
$output
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
public function providerForTestGetPolygonArrayForOpenLayers(){
|
||||
|
||||
|
||||
return array(
|
||||
|
||||
|
||||
array(
|
||||
array('Triangle'),
|
||||
4326,
|
||||
'new Array(new OpenLayers.Geometry.Polygon(new Array(new OpenLayers.Geometry.LinearRing(new Array((new OpenLayers.Geometry.Point(,)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))))))'
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
291
test/classes/gis/PMA_GIS_Geometrycollection_test.php
Normal file
291
test/classes/gis/PMA_GIS_Geometrycollection_test.php
Normal file
@ -0,0 +1,291 @@
|
||||
<?php
|
||||
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* Test for PMA_GIS_Geometry
|
||||
*
|
||||
* @package PhpMyAdmin-test
|
||||
*/
|
||||
require_once 'libraries/gis/pma_gis_geometry.php';
|
||||
require_once 'libraries/gis/pma_gis_geometrycollection.php';
|
||||
require_once 'libraries/gis/pma_gis_factory.php';
|
||||
require_once 'libraries/tcpdf/tcpdf.php';
|
||||
|
||||
/**
|
||||
* Tests for PMA_GIS_Geometrycollection class
|
||||
*/
|
||||
class PMA_GIS_Geometrycollection_test extends PHPUnit_Framework_TestCase {
|
||||
|
||||
/**
|
||||
* @access protected
|
||||
*/
|
||||
protected $object;
|
||||
|
||||
/**
|
||||
* Sets up the fixture, for example, opens a network connection.
|
||||
* This method is called before a test is executed.
|
||||
*
|
||||
* @access protected
|
||||
* @return void
|
||||
*/
|
||||
protected function setUp() {
|
||||
$this->object = PMA_GIS_Geometrycollection::singleton();
|
||||
}
|
||||
|
||||
/**
|
||||
* Tears down the fixture, for example, closes a network connection.
|
||||
* This method is called after a test is executed.
|
||||
*
|
||||
* @access protected
|
||||
* @return void
|
||||
*/
|
||||
protected function tearDown() {
|
||||
unset($this->object);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
*
|
||||
* @dataProvider providerForScaleRow
|
||||
*/
|
||||
public function testScaleRow($spatial, $output) {
|
||||
|
||||
$this->assertEquals($this->object->scaleRow($spatial), $output);
|
||||
}
|
||||
|
||||
public function providerForScaleRow() {
|
||||
|
||||
return array(
|
||||
array(
|
||||
'GEOMETRYCOLLECTION(POLYGON((35 10,10 20,15 40,45 45,35 10),(20 30,35 32,30 20,20 30)))',
|
||||
Array(
|
||||
'maxX' => 45.0,
|
||||
'minX' => 10.0,
|
||||
'maxY' => 45.0,
|
||||
'minY' => 10.0
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $gis_data
|
||||
* @param type $index
|
||||
* @param string $empty
|
||||
* @param type $output
|
||||
*
|
||||
* @dataProvider providerForGenerateWkt
|
||||
*/
|
||||
public function testGenerateWkt($gis_data, $index, $empty, $output) {
|
||||
|
||||
$this->assertEquals($this->object->generateWkt($gis_data, $index, $empty = ''), $output);
|
||||
}
|
||||
|
||||
public function providerForGenerateWkt() {
|
||||
|
||||
$temp1 = array(
|
||||
0 => array(
|
||||
'gis_type' => 'LINESTRING',
|
||||
'LINESTRING' => array(
|
||||
'no_of_points' => 2,
|
||||
0 => array('x' => 5.02, 'y' => 8.45),
|
||||
1 => array('x' => 6.14, 'y' => 0.15)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
return array(
|
||||
array(
|
||||
$temp1,
|
||||
0,
|
||||
null,
|
||||
'GEOMETRYCOLLECTION(LINESTRING(5.02 8.45,6.14 0.15))'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $value
|
||||
* @param $output
|
||||
*
|
||||
* @dataProvider providerForGenerateParams
|
||||
*/
|
||||
public function testGenerateParams($value, $output) {
|
||||
|
||||
$this->assertEquals($this->object->generateParams($value), $output);
|
||||
}
|
||||
|
||||
public function providerForGenerateParams() {
|
||||
|
||||
return array(
|
||||
array(
|
||||
'GEOMETRYCOLLECTION(LINESTRING(5.02 8.45,6.14 0.15))',
|
||||
array(
|
||||
'srid' => 0,
|
||||
'GEOMETRYCOLLECTION' => Array('geom_count' => 1),
|
||||
|
||||
'0' => Array(
|
||||
'gis_type' => 'LINESTRING',
|
||||
'LINESTRING' => Array(
|
||||
'no_of_points' => 2,
|
||||
'0' => Array(
|
||||
'x' => 5.02,
|
||||
'y' => 8.45
|
||||
),
|
||||
'1' => Array(
|
||||
'x' => 6.14,
|
||||
'y' => 0.15
|
||||
)
|
||||
)
|
||||
|
||||
)
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $image
|
||||
* @param type $output
|
||||
*
|
||||
* @dataProvider providerForPrepareRowAsPng
|
||||
*/
|
||||
public function testPrepareRowAsPng($spatial, $label, $line_color, $scale_data, $image, $output) {
|
||||
|
||||
$return = $this->object->prepareRowAsPng($spatial, $label, $line_color, $scale_data, $image);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPng() {
|
||||
|
||||
return array(
|
||||
array(
|
||||
'GEOMETRYCOLLECTION(POLYGON((35 10,10 20,15 40,45 45,35 10),(20 30,35 32,30 20,20 30)))',
|
||||
'image',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
imagecreatetruecolor('120', '150'),
|
||||
''
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $pdf
|
||||
*
|
||||
* @dataProvider providerForPrepareRowAsPdf
|
||||
*/
|
||||
public function testPrepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf) {
|
||||
|
||||
$return = $this->object->prepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf);
|
||||
$this->assertTrue($return instanceof TCPDF);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPdf() {
|
||||
|
||||
return array(
|
||||
array(
|
||||
'GEOMETRYCOLLECTION(POLYGON((35 10,10 20,15 40,45 45,35 10),(20 30,35 32,30 20,20 30)))',
|
||||
'pdf',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
new TCPDF(),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
* @dataProvider providerForPrepareRowAsSvg
|
||||
*/
|
||||
public function testPrepareRowAsSvg($spatial, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$string = $this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data);
|
||||
$this->assertEquals(1, preg_match($output, $string));
|
||||
// $this->assertEquals($this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsSvg() {
|
||||
|
||||
return array(
|
||||
array(
|
||||
'GEOMETRYCOLLECTION(POLYGON((35 10,10 20,15 40,45 45,35 10),(20 30,35 32,30 20,20 30)))',
|
||||
'svg',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
'/^(<path d=" M 46, 268 L -4, 248 L 6, 208 L 66, 198 Z M 16, 228 L 46, 224 L 36, 248 Z " name="svg" id="svg)(\d+)(" class="polygon vector" stroke="black" stroke-width="0.5" fill="#B02EE0" fill-rule="evenodd" fill-opacity="0.8"\/>)$/'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $srid
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
* @dataProvider providerForPrepareRowAsOl
|
||||
*/
|
||||
public function testPrepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$this->assertEquals($this->object->prepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data), $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsOl() {
|
||||
|
||||
return array(
|
||||
array(
|
||||
'GEOMETRYCOLLECTION(POLYGON((35 10,10 20,15 40,45 45,35 10),(20 30,35 32,30 20,20 30)))',
|
||||
4326,
|
||||
'Ol',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'minX' => '0',
|
||||
'minY' => '0',
|
||||
'maxX' => '1',
|
||||
'maxY' => '1',
|
||||
),
|
||||
'bound = new OpenLayers.Bounds(); bound.extend(new OpenLayers.LonLat(0, 0).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject())); bound.extend(new OpenLayers.LonLat(1, 1).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()));vectorLayer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(new Array(new OpenLayers.Geometry.LinearRing(new Array((new OpenLayers.Geometry.Point(35,10)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(10,20)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(15,40)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(45,45)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(35,10)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))), new OpenLayers.Geometry.LinearRing(new Array((new OpenLayers.Geometry.Point(20,30)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(35,32)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(30,20)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(20,30)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))))), null, {"strokeColor":"#000000","strokeWidth":0.5,"fillColor":"#B02EE0","fillOpacity":0.8,"label":"Ol","fontSize":10}));'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@ -9,6 +9,7 @@
|
||||
require_once 'PMA_GIS_Geom_test.php';
|
||||
require_once 'libraries/gis/pma_gis_geometry.php';
|
||||
require_once 'libraries/gis/pma_gis_linestring.php';
|
||||
require_once 'libraries/tcpdf/tcpdf.php';
|
||||
|
||||
/**
|
||||
* Tests for PMA_GIS_Linestring class
|
||||
@ -161,5 +162,146 @@ class PMA_GIS_LinestringTest extends PMA_GIS_GeomTest
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $image
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPng
|
||||
*/
|
||||
public function testPrepareRowAsPng($spatial, $label, $line_color, $scale_data, $image, $output) {
|
||||
|
||||
$return = $this->object->prepareRowAsPng($spatial, $label, $line_color, $scale_data, $image);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPng(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'LINESTRING(12 35,48 75,69 23,25 45,14 53,35 78)',
|
||||
'image',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
imagecreatetruecolor('120','150'),
|
||||
''
|
||||
)
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $pdf
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPdf
|
||||
*/
|
||||
public function testPrepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf) {
|
||||
|
||||
$return = $this->object->prepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf);
|
||||
$this->assertTrue($return instanceof TCPDF);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPdf(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'LINESTRING(12 35,48 75,69 23,25 45,14 53,35 78)',
|
||||
'pdf',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
new TCPDF(),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsSvg
|
||||
*/
|
||||
public function testPrepareRowAsSvg($spatial, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$string = $this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data);
|
||||
$this->assertEquals(1, preg_match($output, $string));
|
||||
//$this->assertEquals($this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsSvg(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'LINESTRING(12 35,48 75,69 23,25 45,14 53,35 78)',
|
||||
'svg',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
'/^(<polyline points="0,218 72,138 114,242 26,198 4,182 46,132 " name="svg" id="svg)(\d+)(" class="linestring vector" fill="none" stroke="#B02EE0" stroke-width="2"\/>)$/'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $srid
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsOl
|
||||
*/
|
||||
public function testPrepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$this->assertEquals($this->object->prepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsOl(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'LINESTRING(12 35,48 75,69 23,25 45,14 53,35 78)',
|
||||
4326,
|
||||
'Ol',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'minX' => '0',
|
||||
'minY' => '0',
|
||||
'maxX' => '1',
|
||||
'maxY' => '1',
|
||||
),
|
||||
'bound = new OpenLayers.Bounds(); bound.extend(new OpenLayers.LonLat(0, 0).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject())); bound.extend(new OpenLayers.LonLat(1, 1).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()));vectorLayer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(new Array((new OpenLayers.Geometry.Point(12,35)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(48,75)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(69,23)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(25,45)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(14,53)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(35,78)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))), null, {"strokeColor":"#B02EE0","strokeWidth":2,"label":"Ol","fontSize":10}));'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
require_once 'PMA_GIS_Geom_test.php';
|
||||
require_once 'libraries/gis/pma_gis_geometry.php';
|
||||
require_once 'libraries/gis/pma_gis_multilinestring.php';
|
||||
require_once 'libraries/tcpdf/tcpdf.php';
|
||||
|
||||
/**
|
||||
* Tests for PMA_GIS_Multilinestring class
|
||||
@ -221,5 +222,147 @@ class PMA_GIS_MultilinestringTest extends PMA_GIS_GeomTest
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $image
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPng
|
||||
*/
|
||||
public function testPrepareRowAsPng($spatial, $label, $line_color, $scale_data, $image, $output) {
|
||||
|
||||
$return = $this->object->prepareRowAsPng($spatial, $label, $line_color, $scale_data, $image);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPng(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTILINESTRING((36 14,47 23,62 75),(36 10,17 23,178 53))',
|
||||
'image',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
imagecreatetruecolor('120','150'),
|
||||
''
|
||||
)
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $pdf
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPdf
|
||||
*/
|
||||
public function testPrepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf) {
|
||||
|
||||
$return = $this->object->prepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf);
|
||||
$this->assertTrue($return instanceof TCPDF);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPdf(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTILINESTRING((36 14,47 23,62 75),(36 10,17 23,178 53))',
|
||||
'pdf',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
new TCPDF(),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsSvg
|
||||
*/
|
||||
public function testPrepareRowAsSvg($spatial, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$string = $this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data);
|
||||
$this->assertEquals(1, preg_match($output, $string));
|
||||
//$this->assertEquals($this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsSvg(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTILINESTRING((36 14,47 23,62 75),(36 10,17 23,178 53))',
|
||||
'svg',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
'/^(<polyline points="48,260 70,242 100,138 " name="svg" class="linestring vector" fill="none" stroke="#B02EE0" stroke-width="2" id="svg)(\d+)("\/><polyline points="48,268 10,242 332,182 " name="svg" class="linestring vector" fill="none" stroke="#B02EE0" stroke-width="2" id="svg)(\d+)("\/>)$/'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $srid
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsOl
|
||||
*/
|
||||
public function testPrepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$this->assertEquals($this->object->prepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsOl(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTILINESTRING((36 14,47 23,62 75),(36 10,17 23,178 53))',
|
||||
4326,
|
||||
'Ol',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'minX' => '0',
|
||||
'minY' => '0',
|
||||
'maxX' => '1',
|
||||
'maxY' => '1',
|
||||
),
|
||||
'bound = new OpenLayers.Bounds(); bound.extend(new OpenLayers.LonLat(0, 0).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject())); bound.extend(new OpenLayers.LonLat(1, 1).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()));vectorLayer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiLineString(new Array(new OpenLayers.Geometry.LineString(new Array((new OpenLayers.Geometry.Point(36,14)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(47,23)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(62,75)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))), new OpenLayers.Geometry.LineString(new Array((new OpenLayers.Geometry.Point(36,10)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(17,23)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(178,53)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))))), null, {"strokeColor":"#B02EE0","strokeWidth":2,"label":"Ol","fontSize":10}));'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
require_once 'PMA_GIS_Geom_test.php';
|
||||
require_once 'libraries/gis/pma_gis_geometry.php';
|
||||
require_once 'libraries/gis/pma_gis_multipoint.php';
|
||||
require_once 'libraries/tcpdf/tcpdf.php';
|
||||
|
||||
/**
|
||||
* Tests for PMA_GIS_Multipoint class
|
||||
@ -165,5 +166,147 @@ class PMA_GIS_MultipointTest extends PMA_GIS_GeomTest
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $image
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPng
|
||||
*/
|
||||
public function testPrepareRowAsPng($spatial, $label, $line_color, $scale_data, $image, $output) {
|
||||
|
||||
$return = $this->object->prepareRowAsPng($spatial, $label, $line_color, $scale_data, $image);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPng(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTIPOINT(12 35,48 75,69 23,25 45,14 53,35 78)',
|
||||
'image',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
imagecreatetruecolor('120','150'),
|
||||
''
|
||||
)
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $pdf
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPdf
|
||||
*/
|
||||
public function testPrepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf) {
|
||||
|
||||
$return = $this->object->prepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf);
|
||||
$this->assertTrue($return instanceof TCPDF);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPdf(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTIPOINT(12 35,48 75,69 23,25 45,14 53,35 78)',
|
||||
'pdf',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
new TCPDF(),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsSvg
|
||||
*/
|
||||
public function testPrepareRowAsSvg($spatial, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$string = $this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data);
|
||||
$this->assertEquals(1, preg_match($output, $string));
|
||||
// $this->assertEquals($this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsSvg(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTIPOINT(12 35,48 75,69 23,25 45,14 53,35 78)',
|
||||
'svg',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
'/^(<circle cx="72" cy="138" r="3" name="svg" class="multipoint vector" fill="white" stroke="#B02EE0" stroke-width="2" id="svg)(\d+)("\/><circle cx="114" cy="242" r="3" name="svg" class="multipoint vector" fill="white" stroke="#B02EE0" stroke-width="2" id="svg)(\d+)("\/><circle cx="26" cy="198" r="3" name="svg" class="multipoint vector" fill="white" stroke="#B02EE0" stroke-width="2" id="svg)(\d+)("\/><circle cx="4" cy="182" r="3" name="svg" class="multipoint vector" fill="white" stroke="#B02EE0" stroke-width="2" id="svg)(\d+)("\/><circle cx="46" cy="132" r="3" name="svg" class="multipoint vector" fill="white" stroke="#B02EE0" stroke-width="2" id="svg)(\d+)("\/>)$/'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $srid
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsOl
|
||||
*/
|
||||
public function testPrepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$this->assertEquals($this->object->prepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsOl(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTIPOINT(12 35,48 75,69 23,25 45,14 53,35 78)',
|
||||
4326,
|
||||
'Ol',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'minX' => '0',
|
||||
'minY' => '0',
|
||||
'maxX' => '1',
|
||||
'maxY' => '1',
|
||||
),
|
||||
'bound = new OpenLayers.Bounds(); bound.extend(new OpenLayers.LonLat(0, 0).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject())); bound.extend(new OpenLayers.LonLat(1, 1).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()));vectorLayer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPoint(new Array((new OpenLayers.Geometry.Point(12,35)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(48,75)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(69,23)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(25,45)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(14,53)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(35,78)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))), null, {"pointRadius":3,"fillColor":"#ffffff","strokeColor":"#B02EE0","strokeWidth":2,"label":"Ol","labelYOffset":-8,"fontSize":10}));'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
require_once 'PMA_GIS_Geom_test.php';
|
||||
require_once 'libraries/gis/pma_gis_geometry.php';
|
||||
require_once 'libraries/gis/pma_gis_multipolygon.php';
|
||||
require_once 'libraries/tcpdf/tcpdf.php';
|
||||
|
||||
/**
|
||||
* Tests for PMA_GIS_Multipolygon class
|
||||
@ -259,5 +260,147 @@ class PMA_GIS_MultipolygonTest extends PMA_GIS_GeomTest
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $image
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPng
|
||||
*/
|
||||
public function testPrepareRowAsPng($spatial, $label, $line_color, $scale_data, $image, $output) {
|
||||
|
||||
$return = $this->object->prepareRowAsPng($spatial, $label, $line_color, $scale_data, $image);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPng(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTIPOLYGON(((136 40,147 83,16 75,136 40)),((105 0,56 20,78 73,105 0)))',
|
||||
'image',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
imagecreatetruecolor('120','150'),
|
||||
''
|
||||
)
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $pdf
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPdf
|
||||
*/
|
||||
public function testPrepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf) {
|
||||
|
||||
$return = $this->object->prepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf);
|
||||
$this->assertTrue($return instanceof TCPDF);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPdf(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTIPOLYGON(((136 40,147 83,16 75,136 40)),((105 0,56 20,78 73,105 0)))',
|
||||
'pdf',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
new TCPDF(),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsSvg
|
||||
*/
|
||||
public function testPrepareRowAsSvg($spatial, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$string = $this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data);
|
||||
$this->assertEquals(1, preg_match($output, $string));
|
||||
// $this->assertEquals($this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsSvg(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTIPOLYGON(((136 40,147 83,16 75,136 40)),((105 0,56 20,78 73,105 0)))',
|
||||
'svg',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
'/^(<path d=" M 248, 208 L 270, 122 L 8, 138 Z " name="svg" class="multipolygon vector" stroke="black" stroke-width="0.5" fill="#B02EE0" fill-rule="evenodd" fill-opacity="0.8" id="svg)(\d+)("\/><path d=" M 186, 288 L 88, 248 L 132, 142 Z " name="svg" class="multipolygon vector" stroke="black" stroke-width="0.5" fill="#B02EE0" fill-rule="evenodd" fill-opacity="0.8" id="svg)(\d+)("\/>)$/'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $srid
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsOl
|
||||
*/
|
||||
public function testPrepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$this->assertEquals($this->object->prepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsOl(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'MULTIPOLYGON(((136 40,147 83,16 75,136 40)),((105 0,56 20,78 73,105 0)))',
|
||||
4326,
|
||||
'Ol',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'minX' => '0',
|
||||
'minY' => '0',
|
||||
'maxX' => '1',
|
||||
'maxY' => '1',
|
||||
),
|
||||
'bound = new OpenLayers.Bounds(); bound.extend(new OpenLayers.LonLat(0, 0).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject())); bound.extend(new OpenLayers.LonLat(1, 1).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()));vectorLayer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.MultiPolygon(new Array(new OpenLayers.Geometry.Polygon(new Array(new OpenLayers.Geometry.LinearRing(new Array((new OpenLayers.Geometry.Point(136,40)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(147,83)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(16,75)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(136,40)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))))), new OpenLayers.Geometry.Polygon(new Array(new OpenLayers.Geometry.LinearRing(new Array((new OpenLayers.Geometry.Point(105,0)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(56,20)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(78,73)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(105,0)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))))))), null, {"strokeColor":"#000000","strokeWidth":0.5,"fillColor":"#B02EE0","fillOpacity":0.8,"label":"Ol","fontSize":10}));'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
require_once 'PMA_GIS_Geom_test.php';
|
||||
require_once 'libraries/gis/pma_gis_geometry.php';
|
||||
require_once 'libraries/gis/pma_gis_point.php';
|
||||
require_once 'libraries/tcpdf/tcpdf.php';
|
||||
|
||||
/**
|
||||
* Tests for PMA_GIS_Point class.
|
||||
@ -167,5 +168,146 @@ class PMA_GIS_PointTest extends PMA_GIS_GeomTest
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $image
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPng
|
||||
*/
|
||||
public function testPrepareRowAsPng($spatial, $label, $line_color, $scale_data, $image, $output) {
|
||||
|
||||
$return = $this->object->prepareRowAsPng($spatial, $label, $line_color, $scale_data, $image);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPng(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'POINT(12 35)',
|
||||
'image',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
imagecreatetruecolor('120','150'),
|
||||
''
|
||||
)
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $pdf
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPdf
|
||||
*/
|
||||
public function testPrepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf) {
|
||||
|
||||
$return = $this->object->prepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf);
|
||||
$this->assertTrue($return instanceof TCPDF);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPdf(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'POINT(12 35)',
|
||||
'pdf',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
new TCPDF(),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsSvg
|
||||
*/
|
||||
public function testPrepareRowAsSvg($spatial, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$this->assertEquals($output, $this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data));
|
||||
// $this->assertEquals($this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsSvg(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'POINT(12 35)',
|
||||
'svg',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
''
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $srid
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsOl
|
||||
*/
|
||||
public function testPrepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$this->assertEquals($this->object->prepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsOl(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'POINT(12 35)',
|
||||
4326,
|
||||
'Ol',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'minX' => '0',
|
||||
'minY' => '0',
|
||||
'maxX' => '1',
|
||||
'maxY' => '1',
|
||||
),
|
||||
'bound = new OpenLayers.Bounds(); bound.extend(new OpenLayers.LonLat(0, 0).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject())); bound.extend(new OpenLayers.LonLat(1, 1).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()));vectorLayer.addFeatures(new OpenLayers.Feature.Vector((new OpenLayers.Geometry.Point(12,35)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), null, {"pointRadius":3,"fillColor":"#ffffff","strokeColor":"#B02EE0","strokeWidth":2,"label":"Ol","labelYOffset":-8,"fontSize":10}));'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
require_once 'PMA_GIS_Geom_test.php';
|
||||
require_once 'libraries/gis/pma_gis_geometry.php';
|
||||
require_once 'libraries/gis/pma_gis_polygon.php';
|
||||
require_once 'libraries/tcpdf/tcpdf.php';
|
||||
|
||||
/**
|
||||
* Tests for PMA_GIS_Polygon class
|
||||
@ -347,5 +348,173 @@ class PMA_GIS_PolygonTest extends PMA_GIS_GeomTest
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $image
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPng
|
||||
*/
|
||||
public function testPrepareRowAsPng($spatial, $label, $line_color, $scale_data, $image, $output) {
|
||||
|
||||
$return = $this->object->prepareRowAsPng($spatial, $label, $line_color, $scale_data, $image);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPng(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'POLYGON((123 0,23 30,17 63,123 0))',
|
||||
'image',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
imagecreatetruecolor('120','150'),
|
||||
''
|
||||
)
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $pdf
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsPdf
|
||||
*/
|
||||
public function testPrepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf) {
|
||||
|
||||
$return = $this->object->prepareRowAsPdf($spatial, $label, $line_color, $scale_data, $pdf);
|
||||
$this->assertTrue($return instanceof TCPDF);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsPdf(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'POLYGON((123 0,23 30,17 63,123 0))',
|
||||
'pdf',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
new TCPDF(),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsSvg
|
||||
*/
|
||||
public function testPrepareRowAsSvg($spatial, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$string = $this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data);
|
||||
$this->assertEquals(1, preg_match($output, $string));
|
||||
// $this->assertEquals($this->object->prepareRowAsSvg($spatial, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsSvg(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'POLYGON((123 0,23 30,17 63,123 0))',
|
||||
'svg',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'x' => 12,
|
||||
'y' => 69,
|
||||
'scale' => 2,
|
||||
'height' => 150
|
||||
),
|
||||
'/^(<path d=" M 222, 288 L 22, 228 L 10, 162 Z " name="svg" id="svg)(\d+)(" class="polygon vector" stroke="black" stroke-width="0.5" fill="#B02EE0" fill-rule="evenodd" fill-opacity="0.8"\/>)$/'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $spatial
|
||||
* @param type $srid
|
||||
* @param type $label
|
||||
* @param type $line_color
|
||||
* @param type $scale_data
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForPrepareRowAsOl
|
||||
*/
|
||||
public function testPrepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data, $output) {
|
||||
|
||||
$this->assertEquals($this->object->prepareRowAsOl($spatial, $srid, $label, $line_color, $scale_data) , $output);
|
||||
}
|
||||
|
||||
public function providerForPrepareRowAsOl(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
'POLYGON((123 0,23 30,17 63,123 0))',
|
||||
4326,
|
||||
'Ol',
|
||||
'#B02EE0',
|
||||
array(
|
||||
'minX' => '0',
|
||||
'minY' => '0',
|
||||
'maxX' => '1',
|
||||
'maxY' => '1',
|
||||
),
|
||||
'bound = new OpenLayers.Bounds(); bound.extend(new OpenLayers.LonLat(0, 0).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject())); bound.extend(new OpenLayers.LonLat(1, 1).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()));vectorLayer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(new Array(new OpenLayers.Geometry.LinearRing(new Array((new OpenLayers.Geometry.Point(123,0)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(23,30)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(17,63)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), (new OpenLayers.Geometry.Point(123,0)).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()))))), null, {"strokeColor":"#000000","strokeWidth":0.5,"fillColor":"#B02EE0","fillOpacity":0.8,"label":"Ol","fontSize":10}));'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type $ring
|
||||
* @param type $output
|
||||
*
|
||||
*@dataProvider providerForIsOuterRing
|
||||
*/
|
||||
public function testIsOuterRing($ring) {
|
||||
|
||||
$this->assertTrue($this->object->isOuterRing($ring));
|
||||
}
|
||||
|
||||
public function providerForIsOuterRing(){
|
||||
|
||||
return array(
|
||||
array(
|
||||
array(
|
||||
array('x' => 0, 'y' => 0),
|
||||
array('x' => 0, 'y' => 1),
|
||||
array('x' => 1, 'y' => 1),
|
||||
array('x' => 1, 'y' => 0)
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user