OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 | 4 |
5 library point_test; | |
6 | |
7 import 'dart:math'; | 5 import 'dart:math'; |
8 import 'package:unittest/unittest.dart'; | 6 import 'package:expect/expect.dart'; |
9 | 7 |
10 main() { | 8 main() { |
11 test('constructor', () { | 9 // constructor |
| 10 { |
12 var point = new Point(0, 0); | 11 var point = new Point(0, 0); |
13 expect(point.x, 0); | 12 Expect.equals(0, point.x); |
14 expect(point.y, 0); | 13 Expect.equals(0, point.y); |
15 expect('$point', 'Point(0, 0)'); | 14 Expect.equals('Point(0, 0)', '$point'); |
16 }); | 15 } |
17 | 16 |
18 test('constructor X', () { | 17 // constructor X |
| 18 { |
19 var point = new Point<int>(10, 0); | 19 var point = new Point<int>(10, 0); |
20 expect(point.x, 10); | 20 Expect.equals(10, point.x); |
21 expect(point.y, 0); | 21 Expect.equals(0, point.y); |
22 expect('$point', 'Point(10, 0)'); | 22 Expect.equals('Point(10, 0)', '$point'); |
23 }); | 23 } |
24 | 24 |
25 test('constructor X Y', () { | 25 // constructor X Y |
| 26 { |
26 var point = new Point<int>(10, 20); | 27 var point = new Point<int>(10, 20); |
27 expect(point.x, 10); | 28 Expect.equals(10, point.x); |
28 expect(point.y, 20); | 29 Expect.equals(20, point.y); |
29 expect('$point', 'Point(10, 20)'); | 30 Expect.equals('Point(10, 20)', '$point'); |
30 }); | 31 } |
31 | 32 |
32 test('constructor X Y double', () { | 33 // constructor X Y double |
| 34 { |
33 var point = new Point<double>(10.5, 20.897); | 35 var point = new Point<double>(10.5, 20.897); |
34 expect(point.x, 10.5); | 36 Expect.equals(10.5, point.x); |
35 expect(point.y, 20.897); | 37 Expect.equals(20.897, point.y); |
36 expect('$point', 'Point(10.5, 20.897)'); | 38 Expect.equals('Point(10.5, 20.897)', '$point'); |
37 }); | 39 } |
38 | 40 |
39 test('constructor X Y NaN', () { | 41 // constructor X Y NaN |
| 42 { |
40 var point = new Point(double.NAN, 1000); | 43 var point = new Point(double.NAN, 1000); |
41 expect(point.x, isNaN); | 44 Expect.isTrue(point.x.isNaN); |
42 expect(point.y, 1000); | 45 Expect.equals(1000, point.y); |
43 expect('$point', 'Point(NaN, 1000)'); | 46 Expect.equals('Point(NaN, 1000)', '$point'); |
44 }); | 47 } |
45 | 48 |
46 test('squaredDistanceTo', () { | 49 // squaredDistanceTo |
| 50 { |
47 var a = new Point(7, 11); | 51 var a = new Point(7, 11); |
48 var b = new Point(3, -1); | 52 var b = new Point(3, -1); |
49 expect(a.squaredDistanceTo(b), 160); | 53 Expect.equals(160, a.squaredDistanceTo(b)); |
50 expect(b.squaredDistanceTo(a), 160); | 54 Expect.equals(160, b.squaredDistanceTo(a)); |
51 }); | 55 } |
52 | 56 |
53 test('distanceTo', () { | 57 // distanceTo |
| 58 { |
54 var a = new Point(-2, -3); | 59 var a = new Point(-2, -3); |
55 var b = new Point(2, 0); | 60 var b = new Point(2, 0); |
56 expect(a.distanceTo(b), 5); | 61 Expect.equals(5, a.distanceTo(b)); |
57 expect(b.distanceTo(a), 5); | 62 Expect.equals(5, b.distanceTo(a)); |
58 }); | 63 } |
59 | 64 |
60 test('subtract', () { | 65 // subtract |
| 66 { |
61 var a = new Point(5, 10); | 67 var a = new Point(5, 10); |
62 var b = new Point(2, 50); | 68 var b = new Point(2, 50); |
63 expect(a - b, new Point(3, -40)); | 69 Expect.equals(new Point(3, -40), a - b); |
64 }); | 70 } |
65 | 71 |
66 test('add', () { | 72 // add |
| 73 { |
67 var a = new Point(5, 10); | 74 var a = new Point(5, 10); |
68 var b = new Point(2, 50); | 75 var b = new Point(2, 50); |
69 expect(a + b, new Point(7, 60)); | 76 Expect.equals(new Point(7, 60), a + b); |
70 }); | 77 } |
71 | 78 |
72 test('hashCode', () { | 79 // hashCode |
| 80 { |
73 var a = new Point(0, 1); | 81 var a = new Point(0, 1); |
74 var b = new Point(0, 1); | 82 var b = new Point(0, 1); |
75 expect(a.hashCode, b.hashCode); | 83 Expect.equals(b.hashCode, a.hashCode); |
76 | 84 |
77 var c = new Point(1, 0); | 85 var c = new Point(1, 0); |
78 expect(a.hashCode == c.hashCode, isFalse); | 86 Expect.isFalse(a.hashCode == c.hashCode); |
79 }); | 87 } |
80 | 88 |
81 test('magnitute', () { | 89 // magnitude |
| 90 { |
82 var a = new Point(5, 10); | 91 var a = new Point(5, 10); |
83 var b = new Point(0, 0); | 92 var b = new Point(0, 0); |
84 expect(a.magnitude, a.distanceTo(b)); | 93 Expect.equals(a.distanceTo(b), a.magnitude); |
85 expect(b.magnitude, 0); | 94 Expect.equals(0, b.magnitude); |
86 | 95 |
87 var c = new Point(-5, -10); | 96 var c = new Point(-5, -10); |
88 expect(c.magnitude, a.distanceTo(b)); | 97 Expect.equals(a.distanceTo(b), c.magnitude); |
89 }); | 98 } |
90 } | 99 } |
OLD | NEW |