@@ -125,10 +125,109 @@ - (void)testAGKQuadIsValid
125
125
126
126
- (void )testAGKQuadGetCenter
127
127
{
128
+ AGKQuad q = AGKQuadMakeWithCGSize (CGSizeMake (500 , 500 ));
129
+ CGPoint center = AGKQuadGetCenter (q);
130
+ XCTAssertEqualObjects ([NSValue valueWithCGPoint: center], [NSValue valueWithCGPoint: CGPointMake (250 , 250 )]);
131
+ }
132
+
133
+ - (void )testAGKQuadGetBoundingRect
134
+ {
135
+ AGKQuad q = AGKQuadMake (CGPointMake (5 , 5 ), CGPointMake (301 , -101 ), CGPointMake (500 , 600 ), CGPointMake (-102 , 402 ));
136
+ CGRect boundingRect = AGKQuadGetBoundingRect (q);
137
+ CGRect expected = CGRectMake (-102 , -101 , 500 +102 , 600 +101 );
138
+ XCTAssertEqualObjects ([NSValue valueWithCGRect: expected], [NSValue valueWithCGRect: boundingRect]);
139
+ }
140
+
141
+ - (void )testAGKQuadInsetTop
142
+ {
143
+ AGKQuad q = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
144
+ q = AGKQuadInsetTop (q, 0.5 );
145
+ AGKQuad expected = AGKQuadMake (CGPointMake (1 , 1.5 ), CGPointMake (2 , 1.5 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
146
+ XCTAssertTrue (AGKQuadEqual (q, expected), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(q), NSStringFromAGKQuad(expected));
147
+ }
148
+
149
+ - (void )testAGKQuadInsetRight
150
+ {
151
+ AGKQuad q = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
152
+ q = AGKQuadInsetRight (q, 0.5 );
153
+ AGKQuad expected = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (1.5 , 1 ), CGPointMake (1.5 , 2 ), CGPointMake (1 , 2 ));
154
+ XCTAssertTrue (AGKQuadEqual (q, expected), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(q), NSStringFromAGKQuad(expected));
155
+ }
156
+
157
+ - (void )testAGKQuadInsetBottom
158
+ {
159
+ AGKQuad q = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
160
+ q = AGKQuadInsetBottom (q, 0.5 );
161
+ AGKQuad expected = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 1.5 ), CGPointMake (1 , 1.5 ));
162
+ XCTAssertTrue (AGKQuadEqual (q, expected), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(q), NSStringFromAGKQuad(expected));
163
+ }
164
+
165
+ - (void )testAGKQuadInsetLeft
166
+ {
167
+ AGKQuad q = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
168
+ q = AGKQuadInsetLeft (q, 0.5 );
169
+ AGKQuad expected = AGKQuadMake (CGPointMake (1.5 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1.5 , 2 ));
170
+ XCTAssertTrue (AGKQuadEqual (q, expected), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(q), NSStringFromAGKQuad(expected));
171
+ }
172
+
173
+ - (void )testAGKQuadMoveAndInterpolate
174
+ {
175
+ AGKQuad q1 = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
176
+ AGKQuad q2 = AGKQuadMove (q1, 1 , -1 );
177
+ {
178
+ AGKQuad interpolated = AGKQuadInterpolate (q1, q2, 0.0 );
179
+ AGKQuad expected = q1;
180
+ XCTAssertTrue (AGKQuadEqual (interpolated, expected), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(interpolated), NSStringFromAGKQuad(expected));
181
+ }
182
+ {
183
+ AGKQuad interpolated = AGKQuadInterpolate (q1, q2, 0.5 );
184
+ AGKQuad expected = AGKQuadMove (q1, 0.5 , -0.5 );
185
+ XCTAssertTrue (AGKQuadEqual (interpolated, expected), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(interpolated), NSStringFromAGKQuad(expected));
186
+ }
187
+ {
188
+ AGKQuad interpolated = AGKQuadInterpolate (q1, q2, 1.0 );
189
+ AGKQuad expected = q2;
190
+ XCTAssertTrue (AGKQuadEqual (interpolated, expected), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(interpolated), NSStringFromAGKQuad(expected));
191
+ }
192
+ {
193
+ AGKQuad interpolated = AGKQuadInterpolate (q1, q2, -2.0 );
194
+ AGKQuad expected = AGKQuadMake (CGPointMake (-1 , 3 ), CGPointMake (0 , 3 ), CGPointMake (0 , 4 ), CGPointMake (-1 , 4 ));
195
+ XCTAssertTrue (AGKQuadEqual (interpolated, expected), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(interpolated), NSStringFromAGKQuad(expected));
196
+ }
197
+ }
198
+
199
+ - (void )testAGKQuadRotate
200
+ {
201
+ AGKQuad q1 = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
202
+ {
203
+ AGKQuad rotated = AGKQuadRotate (q1, 0 );
204
+ AGKQuad expected = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
205
+ XCTAssertTrue (AGKQuadEqualWithAccuracy (rotated, expected, 0.01 ), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(rotated), NSStringFromAGKQuad(expected));
206
+ }
207
+ {
208
+ AGKQuad rotated = AGKQuadRotate (q1, M_PI_2);
209
+ AGKQuad expected = AGKQuadMake (CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ), CGPointMake (1 , 1 ));
210
+ XCTAssertTrue (AGKQuadEqualWithAccuracy (rotated, expected, 0.01 ), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(rotated), NSStringFromAGKQuad(expected));
211
+ }
212
+ {
213
+ AGKQuad rotated = AGKQuadRotate (q1, M_PI_4);
214
+ AGKQuad expected = AGKQuadMake (CGPointMake (1.5 , 0.79 ), CGPointMake (2.20 , 1.5 ), CGPointMake (1.5 , 2.20 ), CGPointMake (0.79 , 1.5 ));
215
+ XCTAssertTrue (AGKQuadEqualWithAccuracy (rotated, expected, 0.01 ), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(rotated), NSStringFromAGKQuad(expected));
216
+ }
217
+ }
218
+
219
+ - (void )testAGKQuadRotateAroundPoint
220
+ {
221
+ AGKQuad q1 = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
222
+ {
223
+ AGKQuad rotated = AGKQuadRotateAroundPoint (q1, CGPointMake (100 , 100 ), 0 );
224
+ AGKQuad expected = AGKQuadMake (CGPointMake (1 , 1 ), CGPointMake (2 , 1 ), CGPointMake (2 , 2 ), CGPointMake (1 , 2 ));
225
+ XCTAssertTrue (AGKQuadEqualWithAccuracy (rotated, expected, 0.01 ), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(rotated), NSStringFromAGKQuad(expected));
226
+ }
128
227
{
129
- AGKQuad q = AGKQuadMakeWithCGSize ( CGSizeMake ( 500 , 500 ) );
130
- CGPoint center = AGKQuadGetCenter (q );
131
- XCTAssertEqualObjects ([ NSValue valueWithCGPoint: center], [ NSValue valueWithCGPoint: CGPointMake ( 250 , 250 )] );
228
+ AGKQuad rotated = AGKQuadRotateAroundPoint (q1, CGPointMake ( 11 , 0 ), M_PI_2 );
229
+ AGKQuad expected = AGKQuadMake ( CGPointMake ( 10 , - 10 ), CGPointMake ( 10 , - 9 ), CGPointMake ( 9 , - 9 ), CGPointMake ( 9 , - 10 ) );
230
+ XCTAssertTrue ( AGKQuadEqualWithAccuracy (rotated, expected, 0.01 ), @" Quad is not equal. Got %@ . Expected: %@ " , NSStringFromAGKQuad(rotated), NSStringFromAGKQuad(expected) );
132
231
}
133
232
}
134
233
0 commit comments