4
4
5
5
class TestGeometry :
6
6
7
- def test_horizontally_not_overlap (self ):
8
- g1 = Geometry (0 , 0 , 1 , 1 )
9
- g2 = Geometry (10 , 10 , 1 , 1 )
10
-
11
- assert not g1 .horizontally_overlap (g2 )
12
- assert not g2 .horizontally_overlap (g1 )
13
-
14
- def test_horizontally_overlap (self ):
15
- g1 = Geometry (0 , 0 , 10 , 10 )
16
- g2 = Geometry (100 , 0 , 10 , 10 )
17
-
18
- assert g1 .horizontally_overlap (g2 )
19
- assert g2 .horizontally_overlap (g1 )
20
-
21
- def test_vertically_not_overlap (self ):
22
- g1 = Geometry (0 , 0 , 10 , 10 )
23
- g2 = Geometry (100 , 100 , 10 , 10 )
24
-
25
- assert not g1 .vertically_overlap (g2 )
26
- assert not g2 .vertically_overlap (g1 )
27
-
28
- def test_vertically_overlap (self ):
29
- g1 = Geometry (0 , 0 , 10 , 10 )
30
- g2 = Geometry (0 , 100 , 10 , 10 )
31
-
32
- assert g1 .vertically_overlap (g2 )
33
- assert g2 .vertically_overlap (g1 )
34
-
35
- def test_not_overlap (self ):
36
- g1 = Geometry (0 , 0 , 10 , 10 )
37
- g2 = Geometry (100 , 0 , 10 , 10 )
38
- g3 = Geometry (0 , 100 , 10 , 10 )
39
-
40
- assert not g1 .overlap (g2 )
41
- assert not g2 .overlap (g1 )
42
- assert not g1 .overlap (g3 )
43
- assert not g3 .overlap (g1 )
44
-
45
- def test_overlap (self ):
46
- g1 = Geometry (0 , 0 , 10 , 10 )
47
- g2 = Geometry (1 , 1 , 8 , 8 )
48
-
49
- assert g1 .overlap (g2 )
50
- assert g2 .overlap (g1 )
51
-
52
7
def test_directions_aligned (self ):
53
8
"""
54
9
0 1 2
@@ -59,7 +14,7 @@ def test_directions_aligned(self):
59
14
g1 = Geometry (0 , 0 , 1 , 1 )
60
15
g2 = Geometry (1 , 0 , 1 , 1 )
61
16
62
- assert g1 .directions_to (g2 ) == { Ordinal .EAST , Ordinal . EAST_NORTHEAST , Ordinal . EAST_SOUTHEAST }
17
+ assert list ( g1 .directions_to (g2 )) == [ Ordinal .EAST ]
63
18
64
19
def test_directions_not_aligned (self ):
65
20
"""
@@ -73,7 +28,7 @@ def test_directions_not_aligned(self):
73
28
g1 = Geometry (0 , 0 , 1 , 1 )
74
29
g2 = Geometry (1 , 1 , 1 , 1 )
75
30
76
- assert g1 .directions_to (g2 ) == { Ordinal .SOUTH_SOUTHEAST , Ordinal . SOUTHEAST , Ordinal . EAST_SOUTHEAST }
31
+ assert list ( g1 .directions_to (g2 )) == [ Ordinal .SOUTHEAST ]
77
32
78
33
def test_directions_overlap (self ):
79
34
"""
@@ -86,7 +41,31 @@ def test_directions_overlap(self):
86
41
g1 = Geometry (0 , 0 , 2 , 2 )
87
42
g2 = Geometry (2 , 1 , 2 , 2 )
88
43
89
- assert g1 .directions_to (g2 ) == {
90
- Ordinal .EAST ,
44
+ assert list (g1 .directions_to (g2 )) == [
91
45
Ordinal .EAST_SOUTHEAST ,
92
- }
46
+ Ordinal .SOUTHEAST ,
47
+ ]
48
+
49
+ def test_gleb_setup (self ):
50
+ """
51
+ 0 1080 3000
52
+ 0 ┌─────────┐
53
+ 130 ┌─────┤ │
54
+ │ │ g1 │
55
+ │ │ │
56
+ 1080 │ g2 ├─────────┤
57
+ │ │ │
58
+ │ │ g3 │
59
+ 2050 └─────┤ │
60
+ 2160 └─────────┘
61
+ """
62
+ g1 = Geometry (1080 , 0 , 1920 , 1080 )
63
+ g2 = Geometry (0 , 130 , 1080 , 1920 )
64
+ g3 = Geometry (1080 , 1080 , 1920 , 1080 )
65
+
66
+ assert list (g1 .directions_to (g2 )) == [Ordinal .WEST_SOUTHWEST , Ordinal .WEST ]
67
+ assert list (g1 .directions_to (g3 )) == [Ordinal .SOUTH ]
68
+ assert list (g2 .directions_to (g1 )) == [Ordinal .EAST_NORTHEAST , Ordinal .EAST ]
69
+ assert list (g2 .directions_to (g3 )) == [Ordinal .EAST_SOUTHEAST , Ordinal .EAST ]
70
+ assert list (g3 .directions_to (g1 )) == [Ordinal .NORTH ]
71
+ assert list (g3 .directions_to (g2 )) == [Ordinal .WEST_NORTHWEST , Ordinal .WEST ]
0 commit comments