diff --git a/geometry_test.go b/geometry_test.go
index 914c944734ed34a90a28ed876c897fffcbbc2391..2a4a6604ce7a1cb06cf493e818019206e117b961 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) {