diff options
author | sanine <sanine.not@pm.me> | 2022-02-25 11:37:03 -0600 |
---|---|---|
committer | sanine <sanine.not@pm.me> | 2022-02-25 11:37:03 -0600 |
commit | d4a02c3613746d00c5c3b633005c2f572a2bd721 (patch) | |
tree | 2db77da41522d3c2410c1a57d48f539ba6eeb94a /city/geometry-test.lua | |
parent | 2ae6baefb71149bc1158f94acc780567cf1613a7 (diff) |
add square:intersects()
Diffstat (limited to 'city/geometry-test.lua')
-rw-r--r-- | city/geometry-test.lua | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/city/geometry-test.lua b/city/geometry-test.lua index 758ce95..d48abbc 100644 --- a/city/geometry-test.lua +++ b/city/geometry-test.lua @@ -132,6 +132,43 @@ test( end ) +test( + 'intersect various squares', + function() + local center = geom.point(0, 0) + local square = geom.square(center, 2) + + -- overlap x/y + assert(square:intersects( + geom.square(geom.point(1, 1), 2))) + + -- nest inside + assert(square:intersects( + geom.square(geom.point(0, 0), 1))) + + -- nest outside + assert(square:intersects( + geom.square(geom.point(0, 0), 5))) + + -------- non-intersections -------- + + -- share x on left + assert(not square:intersects( + geom.square(geom.point(-2, 0), 2))) + + -- share x on right + assert(not square:intersects( + geom.square(geom.point(2, 0), 2))) + + -- share y on top + assert(not square:intersects( + geom.square(geom.point(0, -2), 2))) + + -- share y on bottom + assert(not square:intersects( + geom.square(geom.point(0, 2), 2))) + end +) -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- |