Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(462)

Side by Side Diff: tests/lib/math/min_max_test.dart

Issue 20011002: Partitioned min_max_test for checked mode as well. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 // Dart test for testing Math.min and Math.max. 4 // Dart test for testing Math.min and Math.max.
5 // VMOptions=--optimization-counter-threshold=10 5 // VMOptions=--optimization-counter-threshold=10
6 6
7 library min_max_test; 7 library min_max_test;
8 import "package:expect/expect.dart"; 8 import "package:expect/expect.dart";
9 import 'dart:math'; 9 import 'dart:math';
10 10
11 var inf = double.INFINITY;
12 var nan = double.NAN;
13
11 testMin() { 14 testMin() {
12 testMin1(); 15 testMin1();
13 testMin2(); 16 testMin2();
17 testMin3();
14 } 18 }
15 19
16 testMin1() { 20 testMin1() {
17 Expect.equals(0, min(0, 2)); 21 Expect.equals(0, min(0, 2));
18 Expect.equals(0, min(2, 0)); 22 Expect.equals(0, min(2, 0));
19 23
20 Expect.equals(-10, min(-10, -9)); 24 Expect.equals(-10, min(-10, -9));
21 Expect.equals(-10, min(-10, 9)); 25 Expect.equals(-10, min(-10, 9));
22 Expect.equals(-10, min(-10, 0)); 26 Expect.equals(-10, min(-10, 0));
23 Expect.equals(-10, min(-9, -10)); 27 Expect.equals(-10, min(-9, -10));
24 Expect.equals(-10, min(9, -10)); 28 Expect.equals(-10, min(9, -10));
25 Expect.equals(-10, min(0, -10)); 29 Expect.equals(-10, min(0, -10));
26 30
27 Expect.equals(0.5, min(0.5, 2.5)); 31 Expect.equals(0.5, min(0.5, 2.5));
28 Expect.equals(0.5, min(2.5, 0.5)); 32 Expect.equals(0.5, min(2.5, 0.5));
29 33
30 Expect.equals(-10.5, min(-10.5, -9.5)); 34 Expect.equals(-10.5, min(-10.5, -9.5));
31 Expect.equals(-10.5, min(-10.5, 9.5)); 35 Expect.equals(-10.5, min(-10.5, 9.5));
32 Expect.equals(-10.5, min(-10.5, 0.5)); 36 Expect.equals(-10.5, min(-10.5, 0.5));
33 Expect.equals(-10.5, min(-9.5, -10.5)); 37 Expect.equals(-10.5, min(-9.5, -10.5));
34 Expect.equals(-10.5, min(9.5, -10.5)); 38 Expect.equals(-10.5, min(9.5, -10.5));
35 Expect.equals(-10.5, min(0.5, -10.5)); 39 Expect.equals(-10.5, min(0.5, -10.5));
36 // Test matrix: 40 // Test matrix:
37 // NaN, -infinity, -499.0, -499, -0.0, 0.0, 0, 499.0, 499, +infinity. 41 // NaN, -infinity, -499.0, -499, -0.0, 0.0, 0, 499.0, 499, +infinity.
38 var inf = double.INFINITY;
39 var nan = double.NAN;
40 42
41 Expect.isTrue(min(nan, nan).isNaN); 43 Expect.isTrue(min(nan, nan).isNaN);
42 Expect.isTrue(min(nan, -inf).isNaN); 44 Expect.isTrue(min(nan, -inf).isNaN);
43 Expect.isTrue(min(nan, -499.0).isNaN); 45 Expect.isTrue(min(nan, -499.0).isNaN);
44 Expect.isTrue(min(nan, -499).isNaN); 46 Expect.isTrue(min(nan, -499).isNaN);
45 Expect.isTrue(min(nan, -0.0).isNaN); 47 Expect.isTrue(min(nan, -0.0).isNaN);
46 Expect.isTrue(min(nan, 0.0).isNaN); 48 Expect.isTrue(min(nan, 0.0).isNaN);
47 Expect.isTrue(min(nan, 499.0).isNaN); 49 Expect.isTrue(min(nan, 499.0).isNaN);
48 Expect.isTrue(min(nan, 499).isNaN); 50 Expect.isTrue(min(nan, 499).isNaN);
49 Expect.isTrue(min(nan, inf).isNaN); 51 Expect.isTrue(min(nan, inf).isNaN);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 Expect.equals(-inf, min(-0.0, -inf)); 104 Expect.equals(-inf, min(-0.0, -inf));
103 Expect.equals(-499.0, min(-0.0, -499.0)); 105 Expect.equals(-499.0, min(-0.0, -499.0));
104 Expect.equals(-499, min(-0.0, -499)); 106 Expect.equals(-499, min(-0.0, -499));
105 Expect.equals(-0.0, min(-0.0, -0.0)); 107 Expect.equals(-0.0, min(-0.0, -0.0));
106 Expect.equals(-0.0, min(-0.0, 0.0)); 108 Expect.equals(-0.0, min(-0.0, 0.0));
107 Expect.equals(-0.0, min(-0.0, 0)); 109 Expect.equals(-0.0, min(-0.0, 0));
108 Expect.equals(-0.0, min(-0.0, 499.0)); 110 Expect.equals(-0.0, min(-0.0, 499.0));
109 Expect.equals(-0.0, min(-0.0, 499)); 111 Expect.equals(-0.0, min(-0.0, 499));
110 Expect.equals(-0.0, min(-0.0, inf)); 112 Expect.equals(-0.0, min(-0.0, inf));
111 Expect.isTrue(min(-0.0, nan).isNaN); 113 Expect.isTrue(min(-0.0, nan).isNaN);
114 }
112 115
116 testMin2() {
113 Expect.isTrue(min(-0.0, -499.0) is double); 117 Expect.isTrue(min(-0.0, -499.0) is double);
114 Expect.isTrue(min(-0.0, -499) is int); 118 Expect.isTrue(min(-0.0, -499) is int);
115 Expect.isTrue(min(-0.0, -0.0) is double); 119 Expect.isTrue(min(-0.0, -0.0) is double);
116 Expect.isTrue(min(-0.0, 0.0) is double); 120 Expect.isTrue(min(-0.0, 0.0) is double);
117 Expect.isTrue(min(-0.0, 0) is double); 121 Expect.isTrue(min(-0.0, 0) is double);
118 Expect.isTrue(min(-0.0, 499.0) is double); 122 Expect.isTrue(min(-0.0, 499.0) is double);
119 Expect.isTrue(min(-0.0, 499) is double); 123 Expect.isTrue(min(-0.0, 499) is double);
120 Expect.isTrue(min(-0.0, inf) is double); 124 Expect.isTrue(min(-0.0, inf) is double);
121 125
122 Expect.isTrue(min(-0.0, -499.0).isNegative); 126 Expect.isTrue(min(-0.0, -499.0).isNegative);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 Expect.isTrue(min(0, nan).isNaN); 173 Expect.isTrue(min(0, nan).isNaN);
170 174
171 Expect.isTrue(min(0, -499.0) is double); 175 Expect.isTrue(min(0, -499.0) is double);
172 Expect.isTrue(min(0, -499) is int); 176 Expect.isTrue(min(0, -499) is int);
173 Expect.isTrue(min(0, -0.0) is double); 177 Expect.isTrue(min(0, -0.0) is double);
174 Expect.isTrue(min(0, 0.0) is int); 178 Expect.isTrue(min(0, 0.0) is int);
175 Expect.isTrue(min(0, 0) is int); 179 Expect.isTrue(min(0, 0) is int);
176 Expect.isTrue(min(0, 499.0) is int); 180 Expect.isTrue(min(0, 499.0) is int);
177 Expect.isTrue(min(0, 499) is int); 181 Expect.isTrue(min(0, 499) is int);
178 Expect.isTrue(min(0, inf) is int); 182 Expect.isTrue(min(0, inf) is int);
179 }
180
181 testMin2() {
182 var inf = double.INFINITY;
183 var nan = double.NAN;
184 Expect.isTrue(min(0, -499.0).isNegative); 183 Expect.isTrue(min(0, -499.0).isNegative);
185 Expect.isTrue(min(0, -499).isNegative); 184 Expect.isTrue(min(0, -499).isNegative);
186 Expect.isTrue(min(0, -0.0).isNegative); 185 Expect.isTrue(min(0, -0.0).isNegative);
187 Expect.isFalse(min(0, 0.0).isNegative); 186 Expect.isFalse(min(0, 0.0).isNegative);
188 Expect.isFalse(min(0, 0).isNegative); 187 Expect.isFalse(min(0, 0).isNegative);
189 Expect.isFalse(min(0, 499.0).isNegative); 188 Expect.isFalse(min(0, 499.0).isNegative);
190 Expect.isFalse(min(0, 499).isNegative); 189 Expect.isFalse(min(0, 499).isNegative);
191 Expect.isFalse(min(0, inf).isNegative); 190 Expect.isFalse(min(0, inf).isNegative);
191 }
192 192
193 testMin3() {
193 Expect.equals(-inf, min(499.0, -inf)); 194 Expect.equals(-inf, min(499.0, -inf));
194 Expect.equals(-499.0, min(499.0, -499.0)); 195 Expect.equals(-499.0, min(499.0, -499.0));
195 Expect.equals(-499, min(499.0, -499)); 196 Expect.equals(-499, min(499.0, -499));
196 Expect.equals(-0.0, min(499.0, -0.0)); 197 Expect.equals(-0.0, min(499.0, -0.0));
197 Expect.equals(0.0, min(499.0, 0.0)); 198 Expect.equals(0.0, min(499.0, 0.0));
198 Expect.equals(0, min(499.0, 0)); 199 Expect.equals(0, min(499.0, 0));
199 Expect.equals(499.0, min(499.0, 499.0)); 200 Expect.equals(499.0, min(499.0, 499.0));
200 Expect.equals(499.0, min(499.0, 499)); 201 Expect.equals(499.0, min(499.0, 499));
201 Expect.equals(499.0, min(499.0, inf)); 202 Expect.equals(499.0, min(499.0, inf));
202 Expect.isTrue(min(499.0, nan).isNaN); 203 Expect.isTrue(min(499.0, nan).isNaN);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 Expect.isFalse(min(inf, 0.0).isNegative); 275 Expect.isFalse(min(inf, 0.0).isNegative);
275 Expect.isFalse(min(inf, 0).isNegative); 276 Expect.isFalse(min(inf, 0).isNegative);
276 Expect.isFalse(min(inf, 499).isNegative); 277 Expect.isFalse(min(inf, 499).isNegative);
277 Expect.isFalse(min(inf, 499.0).isNegative); 278 Expect.isFalse(min(inf, 499.0).isNegative);
278 Expect.isFalse(min(inf, inf).isNegative); 279 Expect.isFalse(min(inf, inf).isNegative);
279 } 280 }
280 281
281 testMax() { 282 testMax() {
282 testMax1(); 283 testMax1();
283 testMax2(); 284 testMax2();
285 testMax3();
284 } 286 }
285 287
286 testMax1() { 288 testMax1() {
287 Expect.equals(2, max(0, 2)); 289 Expect.equals(2, max(0, 2));
288 Expect.equals(2, max(2, 0)); 290 Expect.equals(2, max(2, 0));
289 291
290 Expect.equals(-9, max(-10, -9)); 292 Expect.equals(-9, max(-10, -9));
291 Expect.equals(9, max(-10, 9)); 293 Expect.equals(9, max(-10, 9));
292 Expect.equals(0, max(-10, 0)); 294 Expect.equals(0, max(-10, 0));
293 Expect.equals(-9, max(-9, -10)); 295 Expect.equals(-9, max(-9, -10));
294 Expect.equals(9, max(9, -10)); 296 Expect.equals(9, max(9, -10));
295 Expect.equals(0, max(0, -10)); 297 Expect.equals(0, max(0, -10));
296 298
297 Expect.equals(2.5, max(0.5, 2.5)); 299 Expect.equals(2.5, max(0.5, 2.5));
298 Expect.equals(2.5, max(2.5, 0.5)); 300 Expect.equals(2.5, max(2.5, 0.5));
299 301
300 Expect.equals(-9.5, max(-10.5, -9.5)); 302 Expect.equals(-9.5, max(-10.5, -9.5));
301 Expect.equals(9.5, max(-10.5, 9.5)); 303 Expect.equals(9.5, max(-10.5, 9.5));
302 Expect.equals(0.5, max(-10.5, 0.5)); 304 Expect.equals(0.5, max(-10.5, 0.5));
303 Expect.equals(-9.5, max(-9.5, -10.5)); 305 Expect.equals(-9.5, max(-9.5, -10.5));
304 Expect.equals(9.5, max(9.5, -10.5)); 306 Expect.equals(9.5, max(9.5, -10.5));
305 Expect.equals(0.5, max(0.5, -10.5)); 307 Expect.equals(0.5, max(0.5, -10.5));
306 308
307 // Test matrix: 309 // Test matrix:
308 // NaN, infinity, 499.0, 499, 0.0, 0, -0.0, -499.0, -499, -infinity. 310 // NaN, infinity, 499.0, 499, 0.0, 0, -0.0, -499.0, -499, -infinity.
309 var inf = double.INFINITY;
310 var nan = double.NAN;
311 311
312 Expect.isTrue(max(nan, nan).isNaN); 312 Expect.isTrue(max(nan, nan).isNaN);
313 Expect.isTrue(max(nan, -inf).isNaN); 313 Expect.isTrue(max(nan, -inf).isNaN);
314 Expect.isTrue(max(nan, -499.0).isNaN); 314 Expect.isTrue(max(nan, -499.0).isNaN);
315 Expect.isTrue(max(nan, -499).isNaN); 315 Expect.isTrue(max(nan, -499).isNaN);
316 Expect.isTrue(max(nan, -0.0).isNaN); 316 Expect.isTrue(max(nan, -0.0).isNaN);
317 Expect.isTrue(max(nan, 0.0).isNaN); 317 Expect.isTrue(max(nan, 0.0).isNaN);
318 Expect.isTrue(max(nan, 499.0).isNaN); 318 Expect.isTrue(max(nan, 499.0).isNaN);
319 Expect.isTrue(max(nan, 499).isNaN); 319 Expect.isTrue(max(nan, 499).isNaN);
320 Expect.isTrue(max(nan, inf).isNaN); 320 Expect.isTrue(max(nan, inf).isNaN);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 Expect.isTrue(max(0.0, nan).isNaN); 382 Expect.isTrue(max(0.0, nan).isNaN);
383 383
384 Expect.isTrue(max(0.0, 499.0) is double); 384 Expect.isTrue(max(0.0, 499.0) is double);
385 Expect.isTrue(max(0.0, 499) is int); 385 Expect.isTrue(max(0.0, 499) is int);
386 Expect.isTrue(max(0.0, 0.0) is double); 386 Expect.isTrue(max(0.0, 0.0) is double);
387 Expect.isTrue(max(0.0, 0) is double); 387 Expect.isTrue(max(0.0, 0) is double);
388 Expect.isTrue(max(0.0, -0.0) is double); 388 Expect.isTrue(max(0.0, -0.0) is double);
389 Expect.isTrue(max(0.0, -499) is double); 389 Expect.isTrue(max(0.0, -499) is double);
390 Expect.isTrue(max(0.0, -499.0) is double); 390 Expect.isTrue(max(0.0, -499.0) is double);
391 Expect.isTrue(max(0.0, -inf) is double); 391 Expect.isTrue(max(0.0, -inf) is double);
392 }
392 393
394 testMax2() {
393 Expect.isFalse(max(0.0, 0.0).isNegative); 395 Expect.isFalse(max(0.0, 0.0).isNegative);
394 Expect.isFalse(max(0.0, 0).isNegative); 396 Expect.isFalse(max(0.0, 0).isNegative);
395 Expect.isFalse(max(0.0, -0.0).isNegative); 397 Expect.isFalse(max(0.0, -0.0).isNegative);
396 Expect.isFalse(max(0.0, -499).isNegative); 398 Expect.isFalse(max(0.0, -499).isNegative);
397 Expect.isFalse(max(0.0, -499.0).isNegative); 399 Expect.isFalse(max(0.0, -499.0).isNegative);
398 Expect.isFalse(max(0.0, -inf).isNegative); 400 Expect.isFalse(max(0.0, -inf).isNegative);
399 401
400 Expect.equals(inf, max(0, inf)); 402 Expect.equals(inf, max(0, inf));
401 Expect.equals(499.0, max(0, 499.0)); 403 Expect.equals(499.0, max(0, 499.0));
402 Expect.equals(499, max(0, 499)); 404 Expect.equals(499, max(0, 499));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 Expect.isTrue(max(-0.0, 499.0) is double); 440 Expect.isTrue(max(-0.0, 499.0) is double);
439 Expect.isTrue(max(-0.0, 499) is int); 441 Expect.isTrue(max(-0.0, 499) is int);
440 Expect.isTrue(max(-0.0, 0.0) is double); 442 Expect.isTrue(max(-0.0, 0.0) is double);
441 Expect.isTrue(max(-0.0, 0) is int); 443 Expect.isTrue(max(-0.0, 0) is int);
442 Expect.isTrue(max(-0.0, -0.0) is double); 444 Expect.isTrue(max(-0.0, -0.0) is double);
443 Expect.isTrue(max(-0.0, -499) is double); 445 Expect.isTrue(max(-0.0, -499) is double);
444 Expect.isTrue(max(-0.0, -499.0) is double); 446 Expect.isTrue(max(-0.0, -499.0) is double);
445 Expect.isTrue(max(-0.0, -inf) is double); 447 Expect.isTrue(max(-0.0, -inf) is double);
446 } 448 }
447 449
448 testMax2() { 450 testMax3() {
449 var inf = double.INFINITY;
450 var nan = double.NAN;
451
452 Expect.isFalse(max(-0.0, 0.0).isNegative); 451 Expect.isFalse(max(-0.0, 0.0).isNegative);
453 Expect.isFalse(max(-0.0, 0).isNegative); 452 Expect.isFalse(max(-0.0, 0).isNegative);
454 Expect.isTrue(max(-0.0, -0.0).isNegative); 453 Expect.isTrue(max(-0.0, -0.0).isNegative);
455 Expect.isTrue(max(-0.0, -499).isNegative); 454 Expect.isTrue(max(-0.0, -499).isNegative);
456 Expect.isTrue(max(-0.0, -499.0).isNegative); 455 Expect.isTrue(max(-0.0, -499.0).isNegative);
457 Expect.isTrue(max(-0.0, -inf).isNegative); 456 Expect.isTrue(max(-0.0, -inf).isNegative);
458 457
459 Expect.equals(inf, max(-499, inf)); 458 Expect.equals(inf, max(-499, inf));
460 Expect.equals(499.0, max(-499, 499.0)); 459 Expect.equals(499.0, max(-499, 499.0));
461 Expect.equals(499, max(-499, 499)); 460 Expect.equals(499, max(-499, 499));
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 Expect.isTrue(max(-inf, -499.0).isNegative); 536 Expect.isTrue(max(-inf, -499.0).isNegative);
538 Expect.isTrue(max(-inf, -inf).isNegative); 537 Expect.isTrue(max(-inf, -inf).isNegative);
539 } 538 }
540 539
541 main() { 540 main() {
542 testMin(); 541 testMin();
543 testMin(); 542 testMin();
544 testMax(); 543 testMax();
545 testMax(); 544 testMax();
546 } 545 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698