def test_cloze_import(self): expected = Category._make([ 'je {{c1::parle::parler, présent}}|I speak|[sound:je parle.mp3]|parler', 'tu {{c1::parles::parler, présent}}|you speak|[sound:tu parles.mp3]|parler', 'il/elle/on {{c1::parle::parler, présent}}|he/she/it speaks|[sound:il parle.mp3]|parler', 'nous {{c1::parlons::parler, présent}}|we speak|[sound:nous parlons.mp3]|parler', 'vous {{c1::parlez::parler, présent}}|you speak|[sound:vous parlez.mp3]|parler', 'ils/elles {{c1::parlent::parler, présent}}|they speak|[sound:ils parlent.mp3]|parler' ]) translation = [ 'I speak', 'you speak', 'he/she/it speaks', 'we speak', 'you speak', 'they speak' ] sound = [ 'je parle.mp3', 'tu parles.mp3', 'il parle.mp3', 'nous parlons.mp3', 'vous parlez.mp3', 'ils parlent.mp3' ] conj = French.construct_inflection('parler', 'présent') actual = French.output_cloze_import('parler', 'présent', translation, sound, conj) with self.subTest(): self.assertEqual(expected.fps, actual.fps) self.assertEqual(expected.sps, actual.sps) self.assertEqual(expected.tps, actual.tps) self.assertEqual(expected.fpp, actual.fpp) self.assertEqual(expected.spp, actual.spp) self.assertEqual(expected.tpp, actual.tpp)
def test_simple_tense_ouput(self): expected = [ 'je parle', 'tu parles', 'il/elle/on parle', 'nous parlons', 'vous parlez', 'ils/elles parlent' ] inflection = French.construct_inflection('parler', 'présent') actual = list(French.construct_simple_tense_output(inflection)) self.assertEqual(expected, actual)
def test_cloze_verb_begins_with_vowel(self): expected =\ Category._make(["j'{{c1::abandonne::abandonner, présent}}", 'tu {{c1::abandonnes::abandonner, présent}}', 'il/elle/on {{c1::abandonne::abandonner, présent}}', 'nous {{c1::abandonnons::abandonner, présent}}', 'vous {{c1::abandonnez::abandonner, présent}}', 'ils/elles {{c1::abandonnent::abandonner, présent}}']) conj = French.construct_inflection('abandonner', 'présent') actual = French.output_cloze('abandonner', 'présent', conj) with self.subTest(): self.assertEqual(expected.fps, actual.fps) self.assertEqual(expected.sps, actual.sps) self.assertEqual(expected.tps, actual.tps) self.assertEqual(expected.fpp, actual.fpp) self.assertEqual(expected.spp, actual.spp) self.assertEqual(expected.tpp, actual.tpp)
def test_cloze_normal(self): expected = Category._make([ 'je {{c1::parle::parler, présent}}', 'tu {{c1::parles::parler, présent}}', 'il/elle/on {{c1::parle::parler, présent}}', 'nous {{c1::parlons::parler, présent}}', 'vous {{c1::parlez::parler, présent}}', 'ils/elles {{c1::parlent::parler, présent}}' ]) conj = French.construct_inflection('parler', 'présent') actual = French.output_cloze('parler', 'présent', conj) with self.subTest(): self.assertEqual(expected.fps, actual.fps) self.assertEqual(expected.sps, actual.sps) self.assertEqual(expected.tps, actual.tps) self.assertEqual(expected.fpp, actual.fpp) self.assertEqual(expected.spp, actual.spp) self.assertEqual(expected.tpp, actual.tpp)
def test_verb_starts_with_a(self): inf = French.construct_inflection('abandonner', 'présent').fps pronoun, verb = inf self.assertEqual("j'abandonne", '{}{}'.format(pronoun, verb))