Sha256: d27c2888b2e483493e8400a719f8bf751d6d84a51322497296bfc6eb04b53d77

Contents?: true

Size: 1.31 KB

Versions: 127

Compression:

Stored size: 1.31 KB

Contents

"""Tests for the octal exercise

Implementation note:
If the string supplied to parse_octal cannot be parsed as an octal number
your program should raise a ValueError with a meaningful error message.
"""
import unittest

from octal import parse_octal


class OctalTest(unittest.TestCase):
    def test_octal_1_is_decimal_1(self):
        self.assertEqual(1, parse_octal("1"))

    def test_octal_10_is_decimal_8(self):
        self.assertEqual(8, parse_octal("10"))

    def test_octal_17_is_decimal_15(self):
        self.assertEqual(15, parse_octal("17"))

    def test_octal_130_is_decimal_88(self):
        self.assertEqual(88, parse_octal("130"))

    def test_octal_2047_is_decimal_1063(self):
        self.assertEqual(1063, parse_octal("2047"))

    def test_octal_1234567_is_decimal_342391(self):
        self.assertEqual(342391, parse_octal("1234567"))

    def test_8_is_seen_as_invalid(self):
        self.assertRaises(ValueError, parse_octal, "8")

    def test_invalid_octal_is_recognized(self):
        self.assertRaises(ValueError, parse_octal, "carrot")

    def test_6789_is_seen_as_invalid(self):
        self.assertRaises(ValueError, parse_octal, "6789")

    def test_valid_octal_formatted_string_011_is_decimal_9(self):
        self.assertEqual(9, parse_octal("011"))


if __name__ == '__main__':
    unittest.main()

Version data entries

127 entries across 127 versions & 1 rubygems

Version Path
trackler-2.0.8.27 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.26 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.24 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.23 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.22 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.21 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.20 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.19 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.18 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.17 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.16 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.15 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.14 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.13 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.12 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.11 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.10 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.9 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.8 tracks/python/exercises/octal/octal_test.py
trackler-2.0.8.7 tracks/python/exercises/octal/octal_test.py