From d4530ca9feb371bdfc7f5b0fb34c0747732f3bed Mon Sep 17 00:00:00 2001 From: Ben Cragg Date: Thu, 14 Feb 2019 14:18:14 +0000 Subject: [PATCH] More intersection tests --- geometry_test.go | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/geometry_test.go b/geometry_test.go index 914c944..2a4a660 100644 --- a/geometry_test.go +++ b/geometry_test.go @@ -544,11 +544,41 @@ func TestRect_IntersectCircle(t *testing.T) { want: pixel.V(0, -1), }, { - name: "Rect.IntersectCircle(): edge is tangent", + name: "Rect.IntersectCircle(): edge is tangent of left side", fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)}, args: args{c: pixel.C(pixel.V(-1, 5), 1)}, want: pixel.ZV, }, + { + name: "Rect.IntersectCircle(): edge is tangent of top side", + fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)}, + args: args{c: pixel.C(pixel.V(5, -1), 1)}, + want: pixel.ZV, + }, + { + name: "Rect.IntersectCircle(): circle above rectangle", + fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)}, + args: args{c: pixel.C(pixel.V(5, 12), 1)}, + want: pixel.ZV, + }, + { + name: "Rect.IntersectCircle(): circle below rectangle", + fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)}, + args: args{c: pixel.C(pixel.V(5, -2), 1)}, + want: pixel.ZV, + }, + { + name: "Rect.IntersectCircle(): circle left of rectangle", + fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)}, + args: args{c: pixel.C(pixel.V(-1, 5), 1)}, + want: pixel.ZV, + }, + { + name: "Rect.IntersectCircle(): circle right of rectangle", + fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)}, + args: args{c: pixel.C(pixel.V(11, 5), 1)}, + want: pixel.ZV, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {