mirror of
https://github.com/Xevion/exercism.git
synced 2025-12-13 22:11:38 -06:00
python pig latin
This commit is contained in:
77
python/pig-latin/pig_latin_test.py
Normal file
77
python/pig-latin/pig_latin_test.py
Normal file
@@ -0,0 +1,77 @@
|
||||
import unittest
|
||||
|
||||
from pig_latin import translate
|
||||
|
||||
|
||||
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.0
|
||||
|
||||
class PigLatinTest(unittest.TestCase):
|
||||
def test_word_beginning_with_a(self):
|
||||
self.assertEqual(translate("apple"), "appleay")
|
||||
|
||||
def test_word_beginning_with_e(self):
|
||||
self.assertEqual(translate("ear"), "earay")
|
||||
|
||||
def test_word_beginning_with_i(self):
|
||||
self.assertEqual(translate("igloo"), "iglooay")
|
||||
|
||||
def test_word_beginning_with_o(self):
|
||||
self.assertEqual(translate("object"), "objectay")
|
||||
|
||||
def test_word_beginning_with_u(self):
|
||||
self.assertEqual(translate("under"), "underay")
|
||||
|
||||
def test_word_beginning_with_a_vowel_and_followed_by_a_qu(self):
|
||||
self.assertEqual(translate("equal"), "equalay")
|
||||
|
||||
def test_word_beginning_with_p(self):
|
||||
self.assertEqual(translate("pig"), "igpay")
|
||||
|
||||
def test_word_beginning_with_k(self):
|
||||
self.assertEqual(translate("koala"), "oalakay")
|
||||
|
||||
def test_word_beginning_with_x(self):
|
||||
self.assertEqual(translate("xenon"), "enonxay")
|
||||
|
||||
def test_word_beginning_with_q_without_a_following_u(self):
|
||||
self.assertEqual(translate("qat"), "atqay")
|
||||
|
||||
def test_word_beginning_with_ch(self):
|
||||
self.assertEqual(translate("chair"), "airchay")
|
||||
|
||||
def test_word_beginning_with_qu(self):
|
||||
self.assertEqual(translate("queen"), "eenquay")
|
||||
|
||||
def test_word_beginning_with_qu_and_a_preceding_consonant(self):
|
||||
self.assertEqual(translate("square"), "aresquay")
|
||||
|
||||
def test_word_beginning_with_th(self):
|
||||
self.assertEqual(translate("therapy"), "erapythay")
|
||||
|
||||
def test_word_beginning_with_thr(self):
|
||||
self.assertEqual(translate("thrush"), "ushthray")
|
||||
|
||||
def test_word_beginning_with_sch(self):
|
||||
self.assertEqual(translate("school"), "oolschay")
|
||||
|
||||
def test_word_beginning_with_yt(self):
|
||||
self.assertEqual(translate("yttria"), "yttriaay")
|
||||
|
||||
def test_word_beginning_with_xr(self):
|
||||
self.assertEqual(translate("xray"), "xrayay")
|
||||
|
||||
def test_y_is_treated_like_a_consonant_at_the_beginning_of_a_word(self):
|
||||
self.assertEqual(translate("yellow"), "ellowyay")
|
||||
|
||||
def test_y_is_treated_like_a_vowel_at_the_end_of_a_consonant_cluster(self):
|
||||
self.assertEqual(translate("rhythm"), "ythmrhay")
|
||||
|
||||
def test_y_as_second_letter_in_two_letter_word(self):
|
||||
self.assertEqual(translate("my"), "ymay")
|
||||
|
||||
def test_a_whole_phrase(self):
|
||||
self.assertEqual(translate("quick fast run"), "ickquay astfay unray")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user