Files
exercism/python/acronym/acronym_test.py
2019-07-13 17:39:48 -05:00

43 lines
1.3 KiB
Python

import unittest
from acronym import abbreviate
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.7.0
class AcronymTest(unittest.TestCase):
def test_basic(self):
self.assertEqual(abbreviate('Portable Network Graphics'), 'PNG')
def test_lowercase_words(self):
self.assertEqual(abbreviate('Ruby on Rails'), 'ROR')
def test_punctuation(self):
self.assertEqual(abbreviate('First In, First Out'), 'FIFO')
def test_all_caps_words(self):
self.assertEqual(abbreviate('GNU Image Manipulation Program'), 'GIMP')
def test_punctuation_without_whitespace(self):
self.assertEqual(
abbreviate('Complementary metal-oxide semiconductor'), 'CMOS')
def test_very_long_abbreviation(self):
self.assertEqual(
abbreviate("Rolling On The Floor Laughing So Hard That "
"My Dogs Came Over And Licked Me"), "ROTFLSHTMDCOALM")
def test_consecutive_delimiters(self):
self.assertEqual(
abbreviate('Something - I made up from thin air'), 'SIMUFTA')
def test_apostrophes(self):
self.assertEqual(abbreviate("Halley's Comet"), 'HC')
def test_underscore_emphasis(self):
self.assertEqual(abbreviate("The Road _Not_ Taken"), 'TRNT')
if __name__ == '__main__':
unittest.main()