From d4530ca9feb371bdfc7f5b0fb34c0747732f3bed Mon Sep 17 00:00:00 2001
From: Ben Cragg <bcvery1@gmail.com>
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) {
-- 
GitLab