Skip to content

Commit 2195454

Browse files
no message
1 parent ffafedd commit 2195454

File tree

6 files changed

+44
-49
lines changed

6 files changed

+44
-49
lines changed

tests/Integration/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/BoundingBoxDistanceTest.php

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,53 +17,48 @@ protected function getStringFunctions(): array
1717
}
1818

1919
#[Test]
20-
public function bounding_box_distance_returns_zero_for_identical_geometries(): void
20+
public function returns_zero_when_comparing_identical_point_geometries(): void
2121
{
22-
// Identical geometries have zero bounding box distance
2322
$dql = "SELECT BOUNDING_BOX_DISTANCE('POINT(1 1)', 'POINT(1 1)') as distance
2423
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
2524
WHERE g.id = 1";
2625

2726
$result = $this->executeDqlQuery($dql);
28-
$this->assertEquals(0, $result[0]['distance'], 'Bounding box distance for identical geometries should be 0');
27+
$this->assertEquals(0, $result[0]['distance']);
2928
}
3029

3130
#[Test]
32-
public function bounding_box_distance_returns_zero_for_overlapping_bounding_boxes(): void
31+
public function returns_zero_when_polygon_bounding_boxes_overlap(): void
3332
{
34-
// Overlapping polygons have zero bounding box distance
3533
$dql = "SELECT BOUNDING_BOX_DISTANCE('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))', 'POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))') as distance
3634
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
3735
WHERE g.id = 1";
3836

3937
$result = $this->executeDqlQuery($dql);
40-
$this->assertEquals(0, $result[0]['distance'], 'Overlapping bounding boxes should have distance 0');
38+
$this->assertEquals(0, $result[0]['distance']);
4139
}
4240

4341
#[Test]
44-
public function bounding_box_distance_returns_correct_distance_for_separated_geometries(): void
42+
public function can_calculate_euclidean_distance_between_separated_points(): void
4543
{
46-
// Distance between separated points
4744
$dql = "SELECT BOUNDING_BOX_DISTANCE('POINT(0 0)', 'POINT(3 4)') as distance
4845
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
4946
WHERE g.id = 1";
5047

5148
$result = $this->executeDqlQuery($dql);
52-
$this->assertEquals(5.0, $result[0]['distance'], 'Bounding box distance between (0,0) and (3,4) should be 5');
49+
$this->assertEquals(5.0, $result[0]['distance']);
5350
}
5451

5552
#[Test]
56-
public function bounding_box_distance_with_separated_polygons(): void
53+
public function can_calculate_distance_between_non_overlapping_polygons(): void
5754
{
58-
// Distance between non-overlapping polygons
5955
$dql = "SELECT BOUNDING_BOX_DISTANCE('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))', 'POLYGON((3 3, 4 3, 4 4, 3 4, 3 3))') as distance
6056
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
6157
WHERE g.id = 1";
6258

6359
$result = $this->executeDqlQuery($dql);
6460
$this->assertIsNumeric($result[0]['distance']);
6561
$this->assertGreaterThan(0, $result[0]['distance']);
66-
// Distance should be approximately sqrt((3-1)² + (3-1)²) = sqrt(8) ≈ 2.83
67-
$this->assertEqualsWithDelta(2.83, $result[0]['distance'], 0.1, 'Distance between separated polygons');
62+
$this->assertEqualsWithDelta(2.83, $result[0]['distance'], 0.1, 'Distance should be approximately sqrt((3-1)² + (3-1)²) = sqrt(8) ≈ 2.83 between separated polygon bounding boxes');
6863
}
6964
}

tests/Integration/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/GeometryDistanceTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ protected function getStringFunctions(): array
1717
}
1818

1919
#[Test]
20-
public function geometry_distance_with_geometrical_types(): void
20+
public function can_calculate_euclidean_distance_between_geometric_points(): void
2121
{
2222
$dql = 'SELECT GEOMETRY_DISTANCE(g.geometry1, g.geometry2) as distance
2323
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
@@ -26,29 +26,29 @@ public function geometry_distance_with_geometrical_types(): void
2626
$result = $this->executeDqlQuery($dql);
2727
$this->assertIsNumeric($result[0]['distance']);
2828
$this->assertGreaterThan(0, $result[0]['distance']);
29-
$this->assertEqualsWithDelta(1.414, $result[0]['distance'], 0.01, 'Distance between (0,0) and (1,1) should be sqrt(2) ≈ 1.414');
29+
$this->assertEqualsWithDelta(1.414, $result[0]['distance'], 0.01, 'Euclidean distance between points (0,0) and (1,1) should be sqrt(2) ≈ 1.414');
3030
}
3131

3232
#[Test]
33-
public function geometry_distance_returns_zero_for_identical_geometries(): void
33+
public function returns_zero_when_comparing_identical_geometries(): void
3434
{
3535
$dql = 'SELECT GEOMETRY_DISTANCE(g.geometry1, g.geometry1) as distance
3636
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
3737
WHERE g.id = 1';
3838

3939
$result = $this->executeDqlQuery($dql);
40-
$this->assertEquals(0, $result[0]['distance'], 'Distance between identical geometries should be 0');
40+
$this->assertEquals(0, $result[0]['distance']);
4141
}
4242

4343
#[Test]
44-
public function geometry_distance_with_geographical_types(): void
44+
public function can_calculate_spherical_distance_between_geographical_coordinates(): void
4545
{
4646
$dql = 'SELECT GEOMETRY_DISTANCE(g.geography1, g.geography2) as distance
4747
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
4848
WHERE g.id = 1';
4949

5050
$result = $this->executeDqlQuery($dql);
5151
$this->assertIsNumeric($result[0]['distance']);
52-
$this->assertGreaterThan(1000000, $result[0]['distance'], 'Lisbon to London is > 1M meters');
52+
$this->assertGreaterThan(1000000, $result[0]['distance'], 'Spherical distance between Lisbon and London geographical coordinates should be greater than 1 million meters');
5353
}
5454
}

tests/Integration/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/LnTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ protected function getStringFunctions(): array
1717
}
1818

1919
#[Test]
20-
public function ln(): void
20+
public function can_calculate_natural_logarithm_of_euler_constant(): void
2121
{
2222
$dql = 'SELECT LN(2.718281828459) as result FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsNumerics t WHERE t.id = 1';
2323
$result = $this->executeDqlQuery($dql);
2424
$this->assertEqualsWithDelta(1.0, $result[0]['result'], 0.0001);
2525
}
2626

2727
#[Test]
28-
public function ln_with_entity_property(): void
28+
public function can_calculate_natural_logarithm_of_entity_decimal_value(): void
2929
{
3030
$dql = 'SELECT LN(n.decimal1) as result FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsNumerics n WHERE n.id = 1';
3131
$result = $this->executeDqlQuery($dql);

tests/Integration/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/NDimensionalCentroidDistanceTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ protected function getStringFunctions(): array
1717
}
1818

1919
#[Test]
20-
public function nd_centroid_distance_with_geometries(): void
20+
public function can_calculate_distance_between_geometry_centroids(): void
2121
{
22-
$dql = 'SELECT ND_CENTROID_DISTANCE(g.geometry1, g.geometry2) as distance
23-
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
22+
$dql = 'SELECT ND_CENTROID_DISTANCE(g.geometry1, g.geometry2) as distance
23+
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
2424
WHERE g.id = 1';
2525

2626
$result = $this->executeDqlQuery($dql);
@@ -29,10 +29,10 @@ public function nd_centroid_distance_with_geometries(): void
2929
}
3030

3131
#[Test]
32-
public function nd_centroid_distance_with_literal_geometry(): void
32+
public function can_calculate_distance_between_geometry_and_literal_point(): void
3333
{
34-
$dql = "SELECT ND_CENTROID_DISTANCE(g.geometry1, 'POINT(3 3)') as distance
35-
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
34+
$dql = "SELECT ND_CENTROID_DISTANCE(g.geometry1, 'POINT(3 3)') as distance
35+
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
3636
WHERE g.id = 1";
3737

3838
$result = $this->executeDqlQuery($dql);
@@ -41,10 +41,10 @@ public function nd_centroid_distance_with_literal_geometry(): void
4141
}
4242

4343
#[Test]
44-
public function nd_centroid_distance_with_identical_geometries(): void
44+
public function returns_zero_when_comparing_identical_geometries(): void
4545
{
46-
$dql = 'SELECT ND_CENTROID_DISTANCE(g.geometry1, g.geometry1) as distance
47-
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
46+
$dql = 'SELECT ND_CENTROID_DISTANCE(g.geometry1, g.geometry1) as distance
47+
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
4848
WHERE g.id = 1';
4949

5050
$result = $this->executeDqlQuery($dql);

tests/Integration/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/NDimensionalOverlapsTest.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,21 @@ protected function getStringFunctions(): array
1717
}
1818

1919
#[Test]
20-
public function nd_overlaps_with_2d_geometries(): void
20+
public function returns_true_when_2d_polygons_have_overlapping_bounding_boxes(): void
2121
{
22-
$dql = 'SELECT ND_OVERLAPS(g.geometry1, g.geometry2) as result
23-
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
22+
$dql = 'SELECT ND_OVERLAPS(g.geometry1, g.geometry2) as result
23+
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
2424
WHERE g.id = 2';
2525

2626
$result = $this->executeDqlQuery($dql);
27-
$this->assertTrue($result[0]['result'], 'Overlapping polygons should return true for n-dimensional overlaps');
27+
$this->assertTrue($result[0]['result']);
2828
}
2929

3030
#[Test]
31-
public function nd_overlaps_with_identical_geometries(): void
31+
public function returns_true_when_comparing_identical_geometries(): void
3232
{
33-
$dql = 'SELECT ND_OVERLAPS(g.geometry1, g.geometry1) as result
34-
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
33+
$dql = 'SELECT ND_OVERLAPS(g.geometry1, g.geometry1) as result
34+
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
3535
WHERE g.id = 1';
3636

3737
$result = $this->executeDqlQuery($dql);

tests/Integration/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/OverlapsAboveTest.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,35 +17,35 @@ protected function getStringFunctions(): array
1717
}
1818

1919
#[Test]
20-
public function overlaps_above_with_geometries(): void
20+
public function returns_false_when_polygons_are_at_same_vertical_level(): void
2121
{
22-
$dql = 'SELECT OVERLAPS_ABOVE(g.geometry1, g.geometry2) as result
23-
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
22+
$dql = 'SELECT OVERLAPS_ABOVE(g.geometry1, g.geometry2) as result
23+
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
2424
WHERE g.id = 2';
2525

2626
$result = $this->executeDqlQuery($dql);
27-
$this->assertFalse($result[0]['result'], 'Overlapping polygons may not be considered above each other');
27+
$this->assertFalse($result[0]['result']);
2828
}
2929

3030
#[Test]
31-
public function overlaps_above_with_literal_geometry(): void
31+
public function returns_true_when_geometry_is_positioned_above_literal_point(): void
3232
{
33-
$dql = "SELECT OVERLAPS_ABOVE(g.geometry1, 'POINT(0 -1)') as result
34-
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
33+
$dql = "SELECT OVERLAPS_ABOVE(g.geometry1, 'POINT(0 -1)') as result
34+
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
3535
WHERE g.id = 1";
3636

3737
$result = $this->executeDqlQuery($dql);
38-
$this->assertTrue($result[0]['result'], 'Overlapping or above geometries should return true');
38+
$this->assertTrue($result[0]['result']);
3939
}
4040

4141
#[Test]
42-
public function overlaps_above_with_polygons(): void
42+
public function returns_true_when_second_polygon_overlaps_or_is_above_first(): void
4343
{
44-
$dql = 'SELECT OVERLAPS_ABOVE(g.geometry2, g.geometry1) as result
45-
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
44+
$dql = 'SELECT OVERLAPS_ABOVE(g.geometry2, g.geometry1) as result
45+
FROM Fixtures\MartinGeorgiev\Doctrine\Entity\ContainsGeometries g
4646
WHERE g.id = 2';
4747

4848
$result = $this->executeDqlQuery($dql);
49-
$this->assertTrue($result[0]['result'], 'Overlapping or above geometries should return true');
49+
$this->assertTrue($result[0]['result']);
5050
}
5151
}

0 commit comments

Comments
 (0)