Files
exercism/python/darts/darts_test.py
2019-07-14 02:53:41 -05:00

50 lines
1.4 KiB
Python

import unittest
from darts import score
# Tests adapted from `problem-specifications//canonical-data.json` @ v2.2.0
class darts_test(unittest.TestCase):
def test_missed_target(self):
self.assertEqual(score(-9, 9), 0)
def test_on_the_outer_circle(self):
self.assertEqual(score(0, 10), 1)
def test_on_the_middle_circle(self):
self.assertEqual(score(-5, 0), 5)
def test_on_the_inner_circle(self):
self.assertEqual(score(0, -1), 10)
def test_exactly_on_centre(self):
self.assertEqual(score(0, 0), 10)
def test_near_the_centre(self):
self.assertEqual(score(-0.1, -0.1), 10)
def test_just_within_the_inner_circle(self):
self.assertEqual(score(0.7, 0.7), 10)
def test_just_outside_the_inner_circle(self):
self.assertEqual(score(0.8, -0.8), 5)
def test_just_within_the_middle_circle(self):
self.assertAlmostEqual(score(-3.5, 3.5), 5)
def test_just_outside_the_middle_circle(self):
self.assertAlmostEqual(score(-3.6, -3.6), 1)
def test_just_within_the_outer_circle(self):
self.assertAlmostEqual(score(-7.0, 7.0), 1)
def test_just_outside_the_outer_circle(self):
self.assertAlmostEqual(score(7.1, -7.1), 0)
def test_asymmetric_position_between_the_inner_and_middle_circles(self):
self.assertAlmostEqual(score(0.5, -4), 5)
if __name__ == '__main__':
unittest.main()