|
2 | 2 | from darts import score
|
3 | 3 |
|
4 | 4 |
|
5 |
| -# Tests adapted from `problem-specifications//canonical-data.json` @ v2.0.0 |
| 5 | +# Tests adapted from `problem-specifications//canonical-data.json` @ v2.2.0 |
6 | 6 |
|
7 | 7 | class darts_test(unittest.TestCase):
|
8 |
| - def test_dart_lands_outside_target(self): |
| 8 | + def test_missed_target(self): |
9 | 9 | self.assertEqual(score(-9, 9), 0)
|
10 | 10 |
|
11 |
| - def test_dart_lands_just_in_border_of_target(self): |
| 11 | + def test_on_the_outer_circle(self): |
12 | 12 | self.assertEqual(score(0, 10), 1)
|
13 | 13 |
|
14 |
| - def test_dart_lands_outer_circle(self): |
15 |
| - self.assertEqual(score(4, 4), 1) |
| 14 | + def test_on_the_middle_circle(self): |
| 15 | + self.assertEqual(score(-5, 0), 5) |
16 | 16 |
|
17 |
| - def test_dart_lands_border_between_outside_middle(self): |
18 |
| - self.assertEqual(score(5, 0), 5) |
| 17 | + def test_on_the_inner_circle(self): |
| 18 | + self.assertEqual(score(0, -1), 10) |
| 19 | + |
| 20 | + def test_exactly_on_centre(self): |
| 21 | + self.assertEqual(score(0, 0), 10) |
| 22 | + |
| 23 | + def test_near_the_centre(self): |
| 24 | + self.assertEqual(score(-0.1, -0.1), 10) |
19 | 25 |
|
20 |
| - def test_dart_lands_in_middle_circle(self): |
| 26 | + def test_just_within_the_inner_circle(self): |
| 27 | + self.assertEqual(score(0.7, 0.7), 10) |
| 28 | + |
| 29 | + def test_just_outside_the_inner_circle(self): |
21 | 30 | self.assertEqual(score(0.8, -0.8), 5)
|
22 | 31 |
|
23 |
| - def test_dart_lands_border_betweeen_middle_inner(self): |
24 |
| - self.assertEqual(score(0, -1), 10) |
| 32 | + def test_just_within_the_middle_circle(self): |
| 33 | + self.assertAlmostEqual(score(-3.5, 3.5), 5) |
25 | 34 |
|
26 |
| - def test_dart_lands_inner_circle(self): |
27 |
| - self.assertEqual(score(-0.1, -0.1), 10) |
| 35 | + def test_just_outside_the_middle_circle(self): |
| 36 | + self.assertAlmostEqual(score(-3.6, -3.6), 1) |
28 | 37 |
|
29 |
| - def test_dart_coord_sum_more_than_1_radius_less_than_1_is_in_inner(self): |
30 |
| - self.assertEqual(score(0.4, 0.8), 10) |
| 38 | + def test_just_within_the_outer_circle(self): |
| 39 | + self.assertAlmostEqual(score(-7.0, 7.0), 1) |
31 | 40 |
|
32 |
| - def test_dart_coord_sum_more_than_5_radius_less_than_5_is_in_middle(self): |
33 |
| - self.assertEqual(score(2, 4), 5) |
| 41 | + def test_just_outside_the_outer_circle(self): |
| 42 | + self.assertAlmostEqual(score(7.1, -7.1), 0) |
34 | 43 |
|
35 |
| - def test_dart_coord_sum_more_than_10_radius_less_than_10_is_in_outer(self): |
36 |
| - self.assertEqual(score(4, 8), 1) |
| 44 | + def test_asymmetric_position_between_the_inner_and_middle_circles(self): |
| 45 | + self.assertAlmostEqual(score(0.5, -4), 5) |
37 | 46 |
|
38 | 47 |
|
39 | 48 | if __name__ == '__main__':
|
|
0 commit comments