@@ -54,7 +54,7 @@ public void NotCollinear_EventsOrderInSweepLine()
54
54
Assert . False ( se2 . Below ( se1 . Point ) ) ;
55
55
Assert . True ( se2 . Above ( se1 . Point ) ) ;
56
56
57
- AssertOrder ( se1 , se2 , Ordering . Less ) ;
57
+ AssertOrder ( se1 , se2 , true ) ;
58
58
59
59
Assert . Equal ( 1 , eventComparer . Compare ( se3 , se4 ) ) ;
60
60
Assert . False ( se4 . Above ( se3 . Point ) ) ;
@@ -126,49 +126,47 @@ public void TShapedCases()
126
126
// /\
127
127
var ( se1 , _) = this . MakeSimple ( 0 , 0.0 , 0.0 , 1.0 , 1.0 , true ) ;
128
128
var ( se2 , _) = this . MakeSimple ( 0 , 0.5 , 0.5 , 1.0 , 0.0 , true ) ;
129
- this . AssertOrder ( se1 , se2 , Ordering . Greater ) ;
129
+ this . AssertOrder ( se1 , se2 , false ) ;
130
130
131
131
// shape: \/
132
132
// \
133
133
( se1 , _ ) = this . MakeSimple ( 0 , 0.0 , 1.0 , 1.0 , 0.0 , true ) ;
134
134
( se2 , _ ) = this . MakeSimple ( 0 , 0.5 , 0.5 , 1.0 , 1.0 , true ) ;
135
- this . AssertOrder ( se1 , se2 , Ordering . Less ) ;
135
+ this . AssertOrder ( se1 , se2 , true ) ;
136
136
137
137
// shape: T
138
138
( se1 , _ ) = this . MakeSimple ( 0 , 0.0 , 1.0 , 1.0 , 1.0 , true ) ;
139
139
( se2 , _ ) = this . MakeSimple ( 0 , 0.5 , 0.0 , 0.5 , 1.0 , true ) ;
140
- this . AssertOrder ( se1 , se2 , Ordering . Greater ) ;
140
+ this . AssertOrder ( se1 , se2 , false ) ;
141
141
142
142
// shape: T upside down
143
143
( se1 , _ ) = this . MakeSimple ( 0 , 0.0 , 0.0 , 1.0 , 0.0 , true ) ;
144
144
( se2 , _ ) = this . MakeSimple ( 0 , 0.5 , 0.0 , 0.5 , 1.0 , true ) ;
145
- this . AssertOrder ( se1 , se2 , Ordering . Less ) ;
145
+ this . AssertOrder ( se1 , se2 , true ) ;
146
146
}
147
147
148
148
[ Fact ]
149
149
public void VerticalSegment ( )
150
150
{
151
- // Vertikales Referenzsegment bei x = 0, von y = -1 bis +1
151
+ // Vertical Referencesegment at x = 0, from y = -1 to +1
152
152
var ( se1 , _) = this . MakeSimple ( 0 , 0.0 , - 1.0 , 0.0 , 1.0 , true ) ;
153
153
154
- // "above" Fälle
155
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , - 1.0 , 1.0 , 0.0 , 1.0 , true ) . se1 , Ordering . Less ) ;
156
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , 1.0 , 1.0 , 1.0 , true ) . se1 , Ordering . Less ) ;
157
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , - 1.0 , 2.0 , 0.0 , 2.0 , true ) . se1 , Ordering . Less ) ;
158
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , 2.0 , 1.0 , 2.0 , true ) . se1 , Ordering . Less ) ;
159
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , 1.0 , 0.0 , 2.0 , true ) . se1 , Ordering . Less ) ;
160
-
161
- // "below" Fälle
162
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , - 1.0 , - 1.0 , 0.0 , - 1.0 , true ) . se1 , Ordering . Greater ) ;
163
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , - 1.0 , 1.0 , - 1.0 , true ) . se1 , Ordering . Greater ) ;
164
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , - 1.0 , - 2.0 , 0.0 , - 2.0 , true ) . se1 , Ordering . Greater ) ;
165
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , - 2.0 , 1.0 , - 2.0 , true ) . se1 , Ordering . Greater ) ;
166
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , - 2.0 , 0.0 , - 1.0 , true ) . se1 , Ordering . Greater ) ;
167
-
168
- // Überlappungen
169
- this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , - 0.5 , 0.0 , 0.5 , true ) . se1 , Ordering . Less ) ;
170
- // Der folgende Fall ist im Rust-Test auskommentiert, da die Ordnung nicht anti-symmetrisch ist.
171
- // this.AssertOrder(se1, this.MakeSimple(0, 0.0, -1.0, 0.0, 0.0, true).se1, Ordering.Less);
154
+ // "above" Cases
155
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , - 1.0 , 1.0 , 0.0 , 1.0 , true ) . se1 , true ) ;
156
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , 1.0 , 1.0 , 1.0 , true ) . se1 , true ) ;
157
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , - 1.0 , 2.0 , 0.0 , 2.0 , true ) . se1 , true ) ;
158
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , 2.0 , 1.0 , 2.0 , true ) . se1 , true ) ;
159
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , 1.0 , 0.0 , 2.0 , true ) . se1 , true ) ;
160
+
161
+ // "below" Cases
162
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , - 1.0 , - 1.0 , 0.0 , - 1.0 , true ) . se1 , false ) ;
163
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , - 1.0 , 1.0 , - 1.0 , true ) . se1 , false ) ;
164
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , - 1.0 , - 2.0 , 0.0 , - 2.0 , true ) . se1 , false ) ;
165
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , - 2.0 , 1.0 , - 2.0 , true ) . se1 , false ) ;
166
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , - 2.0 , 0.0 , - 1.0 , true ) . se1 , false ) ;
167
+
168
+ // Overlapping Cases
169
+ this . AssertOrder ( se1 , this . MakeSimple ( 0 , 0.0 , - 0.5 , 0.0 , 0.5 , true ) . se1 , true ) ;
172
170
}
173
171
174
172
private ( SweepEvent se1 , SweepEvent se2 ) MakeSimple ( int contourId , double x1 , double y1 , double x2 , double y2 ,
@@ -187,16 +185,11 @@ public void VerticalSegment()
187
185
return ( se1 , se2 ) ;
188
186
}
189
187
190
- private void AssertOrder ( SweepEvent se1 , SweepEvent se2 , Ordering order )
188
+ private void AssertOrder ( SweepEvent se1 , SweepEvent se2 , bool less )
191
189
{
192
- Ordering inverseOrder = order == Ordering . Less ? Ordering . Greater : Ordering . Less ;
193
- Assert . Equal ( ( int ) order , this . segmentComparer . Compare ( se1 , se2 ) ) ;
194
- Assert . Equal ( ( int ) inverseOrder , this . segmentComparer . Compare ( se2 , se1 ) ) ;
195
- }
196
-
197
- public enum Ordering
198
- {
199
- Less = - 1 ,
200
- Greater = 1 ,
190
+ int order = less ? - 1 : 1 ;
191
+ int inverseOrder = less ? 1 : - 1 ;
192
+ Assert . Equal ( order , this . segmentComparer . Compare ( se1 , se2 ) ) ;
193
+ Assert . Equal ( inverseOrder , this . segmentComparer . Compare ( se2 , se1 ) ) ;
201
194
}
202
195
}
0 commit comments