...
1 package geo
2
3 import (
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7 )
8
9 func TestSegmentIntersections(t *testing.T) {
10
11 s1 := NewSegment(NewPoint(0, 0), NewPoint(10, 10))
12 s2 := NewSegment(NewPoint(0, 10), NewPoint(10, 0))
13 intersections := s1.Intersections(*s2)
14 assert.Equal(t, len(intersections), 1)
15 assert.True(t, intersections[0].Equals(NewPoint(5, 5)))
16
17
18 s3 := NewSegment(NewPoint(10, 10), NewPoint(10, 0))
19 intersections = s1.Intersections(*s3)
20 assert.Equal(t, len(intersections), 1)
21 assert.True(t, intersections[0].Equals(NewPoint(10, 10)))
22
23
24 s4 := NewSegment(NewPoint(0, 0), NewPoint(0, 10))
25 intersections = s1.Intersections(*s4)
26 assert.Equal(t, len(intersections), 1)
27 assert.True(t, intersections[0].Equals(NewPoint(0, 0)))
28
29
30 s5 := NewSegment(NewPoint(3, 8), NewPoint(2, 15))
31 intersections = s1.Intersections(*s5)
32 assert.Equal(t, len(intersections), 0)
33 }
34
View as plain text