latinverb 0.2.0 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. data/.gitignore +0 -1
  2. data/Gemfile +1 -2
  3. data/README.markdown +54 -240
  4. data/etc/irreg_skel.json +104 -0
  5. data/{latinirb.gemspec → latinverb.gemspec} +4 -4
  6. data/lib/latinverb/chart.rb +94 -0
  7. data/lib/latinverb/version.rb +10 -0
  8. data/lib/latinverb.rb +710 -0
  9. data/lib/linguistics/latin/verb/classification_types.rb +59 -0
  10. data/lib/linguistics/latin/verb/constants.rb +201 -0
  11. data/lib/linguistics/latin/verb/deponent_tense_methods.rb +98 -0
  12. data/lib/linguistics/latin/verb/infinitives.rb +212 -0
  13. data/lib/linguistics/latin/verb/irregulars.rb +4393 -0
  14. data/lib/linguistics/latin/verb/latinverb/auxiliary_classes.rb +208 -0
  15. data/lib/linguistics/latin/verb/latinverb/classmethods.rb +215 -0
  16. data/lib/linguistics/latin/verb/latinverb/data.rb +90 -0
  17. data/lib/linguistics/latin/verb/latinverb/display.rb +23 -0
  18. data/lib/linguistics/latin/verb/latinverb/metaprogramming.rb +79 -0
  19. data/lib/linguistics/latin/verb/latinverb/validation.rb +66 -0
  20. data/lib/linguistics/latin/verb/participles.rb +202 -0
  21. data/lib/linguistics/latin/verb/phonographia.rb +109 -0
  22. data/lib/linguistics/latin/verb/supine.rb +42 -0
  23. data/lib/linguistics/latin/verb/tense_methods.rb +950 -0
  24. data/test/testAmbiguousLookups.rb +30 -0
  25. data/test/testClusterResolution.rb +20 -0
  26. data/test/testDataStructures.rb +29 -0
  27. data/test/testDefectSemiImp.rb +111 -0
  28. data/test/testDeponentFirstConjugation.rb +64 -0
  29. data/test/testDeponentFourthConjugation.rb +64 -0
  30. data/test/testDeponentSecondConjugation.rb +64 -0
  31. data/test/testDeponentThirdConjugation.rb +64 -0
  32. data/test/testDeponentThirdIOConjugation.rb +64 -0
  33. data/test/testDeserializeInfinitives.rb +38 -0
  34. data/test/testFirstConjugation.rb +388 -0
  35. data/test/testFourthConjugation.rb +190 -0
  36. data/test/testFreakishVerbs.rb +93 -0
  37. data/test/testImperativeBlock.rb +27 -0
  38. data/test/testIrregularSum.rb +22 -0
  39. data/test/testIrregulars.rb +652 -0
  40. data/test/testLatinVerb.rb +195 -0
  41. data/test/testMacronRules.rb +19 -0
  42. data/test/testSecondConjugation.rb +189 -0
  43. data/test/testThirdConjugation.rb +190 -0
  44. data/test/testThirdIOConjugation.rb +190 -0
  45. metadata +70 -18
  46. data/bin/latinirb.rb +0 -7
  47. data/latinverb.rb +0 -544
  48. data/lib/LatinIRB.rb +0 -172
  49. data/lib/latinirb/paradigmatic_verbs.rb +0 -17
  50. data/lib/latinirb/version.rb +0 -10
  51. data/lib/latirb.rb +0 -20
@@ -0,0 +1,195 @@
1
+ # encoding: UTF-8
2
+ require 'macronconversions'
3
+
4
+ # ...by others
5
+ require "minitest/autorun"
6
+ require 'pp'
7
+
8
+ # Internal dependencies
9
+ require 'linguistics/latin/verb/latinverb/classmethods'
10
+ require 'linguistics/latin/verb/classification_types'
11
+
12
+ $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
13
+ require 'latinverb'
14
+
15
+
16
+ class TestLatinVerb < MiniTest::Unit::TestCase # :nodoc:
17
+
18
+ def setup
19
+ _create_paradigmatic_examples
20
+ end
21
+
22
+ def _create_paradigmatic_examples
23
+ @verb_hash_latex_style = {
24
+ :@aFirstString => %q{am\={o} am\={a}re am\={a}v\={\i} amatum},
25
+ :@aSecondString => %q{mone\={o} mon\={e}re monu\={\i} monitum},
26
+ :@aThirdString => %q{ag\={o} agere \={e}g\={\i} actum},
27
+ :@aThirdIOString => %q{capi\={o} capere c\={e}p\={\i} capitum},
28
+ :@aFourthString => %q{audi\={o} aud\={\i}re aud\={\i}v\={\i} auditum}
29
+ }
30
+
31
+ @verb_hash_latex_style.each_pair do |k,v|
32
+ instance_variable_set k, v.gsub(/(\s)+/, "\\1")
33
+ end
34
+
35
+ @verb_hash_utf8_style = {
36
+ :@aFirstString => 'amō amāre amāvī amatum',
37
+ :@aSecondString => 'moneō monēre monuī monitum',
38
+ :@aThirdString => 'agō agere ēgī actum',
39
+ :@aThirdIOString => 'capiō capere cēpī capitum',
40
+ :@aFourthString => 'audiō audīre audīvī auditum',
41
+ }
42
+
43
+ @verb_hash_classifications = {
44
+ :@aFirstString => Linguistics::Latin::Verb::VerbTypes::First,
45
+ :@aSecondString => Linguistics::Latin::Verb::VerbTypes::Second,
46
+ :@aThirdString => Linguistics::Latin::Verb::VerbTypes::Third,
47
+ :@aThirdIOString => Linguistics::Latin::Verb::VerbTypes::ThirdIO,
48
+ :@aFourthString => Linguistics::Latin::Verb::VerbTypes::Fourth
49
+ }
50
+
51
+ @verb_hash_stems = {
52
+ :@aFirstString => "amā",
53
+ :@aSecondString => "monē",
54
+ :@aThirdString => "ag",
55
+ :@aThirdIOString => "cap",
56
+ :@aFourthString => "aud"
57
+ }
58
+
59
+ @irregular_verb_strings = [
60
+ 'sum esse fuī futūrus',
61
+ 'ferō ferre tulī lātum',
62
+ 'eō īre ivī itum',
63
+ 'volō velle voluī',
64
+ 'nōlō nōlle nōluī'
65
+ ]
66
+
67
+
68
+ @verb_hash_participial_stems = {
69
+ :@aFirstString => "amā",
70
+ :@aSecondString => "monē",
71
+ :@aThirdString => "age",
72
+ :@aThirdIOString => "capiē",
73
+ :@aFourthString => "audiē"
74
+ }
75
+
76
+ end
77
+
78
+ def test_metaprogramming
79
+ tc = Linguistics::Latin::Verb::LatinVerb.new 'amō amāre amāvī amatum'
80
+
81
+ # Test the real method that comes by part of the extension
82
+ assert_respond_to(tc, :latin_active_voice_indicative_mood_imperfect_tense_third_person_singular_number)
83
+
84
+ # Test the facade method
85
+ assert_respond_to tc, :active_voice_indicative_mood_imperfect_tense_third_person_singular_number
86
+ assert_respond_to tc, :respondable_methods
87
+
88
+ # Make sure that stuff that /shouldn't/ be respected is not respected
89
+ assert not( tc.respond_to? :zabumiwhorter)
90
+ assert_raises(NoMethodError) do
91
+ tc.zabumiwhorter
92
+ end
93
+
94
+ end
95
+
96
+ def test_method_lookup
97
+ tc = Linguistics::Latin::Verb::LatinVerb.new 'amō amāre amāvī amatum'
98
+ assert_respond_to tc, :active_voice_indicative_mood_imperfect_tense_third_person_singular_number
99
+
100
+ # this should raise because we have not defined the 'cluster' method. We've
101
+ # defined that we want to respond, but need to do so via an intermediary
102
+ # which, at the point of this assertion, has not been defined
103
+ assert_raises(NoMethodError) do
104
+ tc.active_voice_indicative_mood_imperfect_tense_singular_number_third_person
105
+ end
106
+ end
107
+
108
+ def test_verbvector
109
+ tc = Linguistics::Latin::Verb::LatinVerb.new 'amō amāre amāvī amatum'
110
+ assert tc
111
+ assert tc.tense_list
112
+ assert tc.tense_list.length
113
+ assert_equal 22, tc.tense_list.length
114
+ assert_respond_to(tc, :active_voice_indicative_mood_imperfect_tense_third_person_singular_number)
115
+ tc.tense_list.each do |cluster_method|
116
+ assert tc.respond_to? cluster_method.to_sym
117
+ end
118
+ assert_equal 132, tc.vector_list.length
119
+ end
120
+
121
+ def test_defective_verbs
122
+ defectives = ['meminī meminisse', 'ōdī ōdisse', 'coepī coepisse coeptum']
123
+ defectives.reverse.each do |iv|
124
+ v = Linguistics::Latin::Verb::LatinVerb.new(iv)
125
+ assert v.irregular?
126
+ assert_match /.../ , v.active_voice_indicative_mood_perfect_tense_first_person_singular_number
127
+
128
+ end
129
+ end
130
+
131
+ def test_irregular_verbs
132
+ @irregular_verb_strings.each do |iv|
133
+ assert Linguistics::Latin::Verb::LatinVerb.new(iv).irregular?
134
+ end
135
+ end
136
+
137
+ # Test the creation of stems
138
+ def test_stem_production
139
+ @verb_hash_utf8_style.each_pair do |k,v|
140
+ assert_equal Linguistics::Latin::Verb::LatinVerb.calculate_stem(v.split(/\s+/)[1]),
141
+ @verb_hash_stems[k]
142
+ end
143
+ end
144
+
145
+ # Test the classifications
146
+ def test_classifications
147
+ @verb_hash_utf8_style.each_pair do |k,v|
148
+ assert_equal(@verb_hash_classifications[k],
149
+ Linguistics::Latin::Verb::LatinVerb.classify(v))
150
+ end
151
+ end
152
+
153
+ def test_participial_stem_creation
154
+ @verb_hash_utf8_style.each_pair do |k,v|
155
+ a = v.split /\s+/
156
+ assert_equal(@verb_hash_participial_stems[k],
157
+ Linguistics::Latin::Verb::LatinVerb.calculate_participial_stem(a[0], a[1]))
158
+ end
159
+ end
160
+
161
+ # Tests to see if the string that was given was sufficient to successfully create a LatinVerb
162
+ def test_construction_validity
163
+ @verb_hash_utf8_style.each_pair do |k,s|
164
+ aVerb = Linguistics::Latin::Verb::LatinVerb.new s
165
+ assert aVerb.valid?
166
+ assert aVerb.classification
167
+ assert aVerb.short_class
168
+ assert aVerb.stem
169
+ assert aVerb.conjugation
170
+ assert_equal 4, aVerb.principal_parts.length
171
+ assert(aVerb.respond_to? :irregular?)
172
+ assert !aVerb.irregular?
173
+ end
174
+ end
175
+
176
+ # Make sure that the dependencies are working so that we know the
177
+ # paradigmatic examples get created safely.
178
+ def test_macron_conversions
179
+ assert_equal('amō amāre amāvī amatum',
180
+ Text::Latex::Util::Macronconversions.convert(@aFirstString))
181
+ assert_equal( 'moneō monēre monuī monitum',
182
+ Text::Latex::Util::Macronconversions.convert(@aSecondString))
183
+ assert_equal( 'agō agere ēgī actum',
184
+ Text::Latex::Util::Macronconversions.convert(@aThirdString))
185
+ assert_equal( 'capiō capere cēpī capitum',
186
+ Text::Latex::Util::Macronconversions.convert(@aThirdIOString))
187
+ assert_equal( 'audiō audīre audīvī auditum',
188
+ Text::Latex::Util::Macronconversions.convert(@aFourthString))
189
+ end
190
+ end
191
+
192
+
193
+ #
194
+
195
+ # end
@@ -0,0 +1,19 @@
1
+ # encoding: UTF-8
2
+
3
+ require "minitest/autorun"
4
+
5
+ $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
6
+ require 'latinverb'
7
+
8
+ # Internal dependencies
9
+
10
+ class TestMacronRules < MiniTest::Unit::TestCase # :nodoc:
11
+ def test_basic
12
+ aFirst = Linguistics::Latin::Verb::LatinVerb.new 'amō amāre amāvī amatum'
13
+
14
+ assert_equal "amō", aFirst.active_voice_indicative_mood_present_tense_first_person_singular_number
15
+ assert_equal "amās", aFirst.active_voice_indicative_mood_present_tense_second_person_singular_number
16
+ assert_equal "amat", aFirst.active_voice_indicative_mood_present_tense_third_person_singular_number
17
+ assert_equal "amant", aFirst.active_voice_indicative_mood_present_tense_third_person_plural_number
18
+ end
19
+ end
@@ -0,0 +1,189 @@
1
+ # encoding: UTF-8
2
+
3
+ require "minitest/autorun"
4
+
5
+ $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
6
+ require 'latinverb'
7
+
8
+
9
+ class TestLatinVerbSecondConj < MiniTest::Unit::TestCase # :nodoc:
10
+ def setup
11
+ @aSecond = Linguistics::Latin::Verb::LatinVerb.new 'moneō monēre monuī monitum'
12
+ end
13
+
14
+ def test_gerund
15
+ assert @aSecond.gerund =~ %r'monendī', "Was not #{@aSecond.gerund}"
16
+ assert @aSecond.gerundive
17
+ end
18
+
19
+ def test_supine
20
+ assert_equal "monitum", @aSecond.supine[:accusative]
21
+ assert_equal "monitū", @aSecond.supine[:ablative]
22
+ end
23
+
24
+ def test_second_conj_exhaustively
25
+ assert_equal("moneō", @aSecond.active_voice_indicative_mood_present_tense_first_person_singular_number.to_s)
26
+ assert_equal("monēs", @aSecond.active_voice_indicative_mood_present_tense_second_person_singular_number.to_s)
27
+ assert_equal("monet", @aSecond.active_voice_indicative_mood_present_tense_third_person_singular_number.to_s)
28
+ assert_equal("monēmus", @aSecond.active_voice_indicative_mood_present_tense_first_person_plural_number.to_s)
29
+ assert_equal("monētis", @aSecond.active_voice_indicative_mood_present_tense_second_person_plural_number.to_s)
30
+ assert_equal("monent", @aSecond.active_voice_indicative_mood_present_tense_third_person_plural_number.to_s)
31
+
32
+ assert_equal("monēbam", @aSecond.active_voice_indicative_mood_imperfect_tense_first_person_singular_number.to_s)
33
+ assert_equal("monēbās", @aSecond.active_voice_indicative_mood_imperfect_tense_second_person_singular_number.to_s)
34
+ assert_equal("monēbat", @aSecond.active_voice_indicative_mood_imperfect_tense_third_person_singular_number.to_s)
35
+ assert_equal("monēbāmus", @aSecond.active_voice_indicative_mood_imperfect_tense_first_person_plural_number.to_s)
36
+ assert_equal("monēbātis", @aSecond.active_voice_indicative_mood_imperfect_tense_second_person_plural_number.to_s)
37
+ assert_equal("monēbant", @aSecond.active_voice_indicative_mood_imperfect_tense_third_person_plural_number.to_s)
38
+
39
+ assert_equal("monēbō", @aSecond.active_voice_indicative_mood_future_tense_first_person_singular_number.to_s)
40
+ assert_equal("monēbis", @aSecond.active_voice_indicative_mood_future_tense_second_person_singular_number.to_s)
41
+ assert_equal("monēbit", @aSecond.active_voice_indicative_mood_future_tense_third_person_singular_number.to_s)
42
+ assert_equal("monēbimus", @aSecond.active_voice_indicative_mood_future_tense_first_person_plural_number.to_s)
43
+ assert_equal("monēbitis", @aSecond.active_voice_indicative_mood_future_tense_second_person_plural_number.to_s)
44
+ assert_equal("monēbunt", @aSecond.active_voice_indicative_mood_future_tense_third_person_plural_number.to_s)
45
+
46
+ assert_equal("monuī", @aSecond.active_voice_indicative_mood_perfect_tense_first_person_singular_number.to_s)
47
+ assert_equal("monuistī", @aSecond.active_voice_indicative_mood_perfect_tense_second_person_singular_number.to_s)
48
+ assert_equal("monuit", @aSecond.active_voice_indicative_mood_perfect_tense_third_person_singular_number.to_s)
49
+ assert_equal("monuimus", @aSecond.active_voice_indicative_mood_perfect_tense_first_person_plural_number.to_s)
50
+ assert_equal("monuistis", @aSecond.active_voice_indicative_mood_perfect_tense_second_person_plural_number.to_s)
51
+ assert_equal("monuērunt", @aSecond.active_voice_indicative_mood_perfect_tense_third_person_plural_number.to_s)
52
+
53
+ assert_equal("monueram", @aSecond.active_voice_indicative_mood_pastperfect_tense_first_person_singular_number.to_s)
54
+ assert_equal("monuerās", @aSecond.active_voice_indicative_mood_pastperfect_tense_second_person_singular_number.to_s)
55
+ assert_equal("monuerat", @aSecond.active_voice_indicative_mood_pastperfect_tense_third_person_singular_number.to_s)
56
+ assert_equal("monuerāmus", @aSecond.active_voice_indicative_mood_pastperfect_tense_first_person_plural_number.to_s)
57
+ assert_equal("monuerātis", @aSecond.active_voice_indicative_mood_pastperfect_tense_second_person_plural_number.to_s)
58
+ assert_equal("monuerant", @aSecond.active_voice_indicative_mood_pastperfect_tense_third_person_plural_number.to_s)
59
+
60
+ assert_equal("monuerō", @aSecond.active_voice_indicative_mood_futureperfect_tense_first_person_singular_number.to_s)
61
+ assert_equal("monueris", @aSecond.active_voice_indicative_mood_futureperfect_tense_second_person_singular_number.to_s)
62
+ assert_equal("monuerit", @aSecond.active_voice_indicative_mood_futureperfect_tense_third_person_singular_number.to_s)
63
+ assert_equal("monuerimus", @aSecond.active_voice_indicative_mood_futureperfect_tense_first_person_plural_number.to_s)
64
+ assert_equal("monueritis", @aSecond.active_voice_indicative_mood_futureperfect_tense_second_person_plural_number.to_s)
65
+ assert_equal("monuerint", @aSecond.active_voice_indicative_mood_futureperfect_tense_third_person_plural_number.to_s)
66
+
67
+ #Passive Present
68
+
69
+ assert_equal("moneor", @aSecond.passive_voice_indicative_mood_present_tense_first_person_singular_number.to_s)
70
+ assert_equal("monēris", @aSecond.passive_voice_indicative_mood_present_tense_second_person_singular_number.to_s)
71
+ assert_equal("monētur", @aSecond.passive_voice_indicative_mood_present_tense_third_person_singular_number.to_s)
72
+ assert_equal("monēmur", @aSecond.passive_voice_indicative_mood_present_tense_first_person_plural_number.to_s)
73
+ assert_equal("monēminī", @aSecond.passive_voice_indicative_mood_present_tense_second_person_plural_number.to_s)
74
+ assert_equal("monentur", @aSecond.passive_voice_indicative_mood_present_tense_third_person_plural_number.to_s)
75
+
76
+ assert_equal("monēbar", @aSecond.passive_voice_indicative_mood_imperfect_tense_first_person_singular_number.to_s)
77
+ assert_equal("monēbāris", @aSecond.passive_voice_indicative_mood_imperfect_tense_second_person_singular_number.to_s)
78
+ assert_equal("monēbātur", @aSecond.passive_voice_indicative_mood_imperfect_tense_third_person_singular_number.to_s)
79
+ assert_equal("monēbāmur", @aSecond.passive_voice_indicative_mood_imperfect_tense_first_person_plural_number.to_s)
80
+ assert_equal("monēbāminī", @aSecond.passive_voice_indicative_mood_imperfect_tense_second_person_plural_number.to_s)
81
+ assert_equal("monēbantur", @aSecond.passive_voice_indicative_mood_imperfect_tense_third_person_plural_number.to_s)
82
+
83
+ assert_equal("monēbor", @aSecond.passive_voice_indicative_mood_future_tense_first_person_singular_number.to_s)
84
+ assert_equal("monēberis", @aSecond.passive_voice_indicative_mood_future_tense_second_person_singular_number.to_s)
85
+ assert_equal("monēbitur", @aSecond.passive_voice_indicative_mood_future_tense_third_person_singular_number.to_s)
86
+ assert_equal("monēbimur", @aSecond.passive_voice_indicative_mood_future_tense_first_person_plural_number.to_s)
87
+ assert_equal("monēbiminī", @aSecond.passive_voice_indicative_mood_future_tense_second_person_plural_number.to_s)
88
+ assert_equal("monēbuntur", @aSecond.passive_voice_indicative_mood_future_tense_third_person_plural_number.to_s)
89
+
90
+ #Passive perfect
91
+ assert_equal("monitum sum", @aSecond.passive_voice_indicative_mood_perfect_tense_first_person_singular_number.to_s)
92
+ assert_equal("monitum es", @aSecond.passive_voice_indicative_mood_perfect_tense_second_person_singular_number.to_s)
93
+ assert_equal("monitum est", @aSecond.passive_voice_indicative_mood_perfect_tense_third_person_singular_number.to_s)
94
+ assert_equal("monitum sumus", @aSecond.passive_voice_indicative_mood_perfect_tense_first_person_plural_number.to_s)
95
+ assert_equal("monitum estis", @aSecond.passive_voice_indicative_mood_perfect_tense_second_person_plural_number.to_s)
96
+ assert_equal("monitum sunt", @aSecond.passive_voice_indicative_mood_perfect_tense_third_person_plural_number.to_s)
97
+
98
+ assert_equal("monitum eram", @aSecond.passive_voice_indicative_mood_pastperfect_tense_first_person_singular_number.to_s)
99
+ assert_equal("monitum erās", @aSecond.passive_voice_indicative_mood_pastperfect_tense_second_person_singular_number.to_s)
100
+ assert_equal("monitum erat", @aSecond.passive_voice_indicative_mood_pastperfect_tense_third_person_singular_number.to_s)
101
+ assert_equal("monitum erāmus", @aSecond.passive_voice_indicative_mood_pastperfect_tense_first_person_plural_number.to_s)
102
+ assert_equal("monitum erātis", @aSecond.passive_voice_indicative_mood_pastperfect_tense_second_person_plural_number.to_s)
103
+ assert_equal("monitum erant", @aSecond.passive_voice_indicative_mood_pastperfect_tense_third_person_plural_number.to_s)
104
+
105
+ assert_equal("monitum erō", @aSecond.passive_voice_indicative_mood_futureperfect_tense_first_person_singular_number.to_s)
106
+ assert_equal("monitum eris", @aSecond.passive_voice_indicative_mood_futureperfect_tense_second_person_singular_number.to_s)
107
+ assert_equal("monitum erit", @aSecond.passive_voice_indicative_mood_futureperfect_tense_third_person_singular_number.to_s)
108
+ assert_equal("monitum erimus", @aSecond.passive_voice_indicative_mood_futureperfect_tense_first_person_plural_number.to_s)
109
+ assert_equal("monitum eritis", @aSecond.passive_voice_indicative_mood_futureperfect_tense_second_person_plural_number.to_s)
110
+ assert_equal("monitum erint", @aSecond.passive_voice_indicative_mood_futureperfect_tense_third_person_plural_number.to_s)
111
+
112
+ ## Subjunctives
113
+ # Active
114
+ assert_equal("moneam", @aSecond.active_voice_subjunctive_mood_present_tense_first_person_singular_number.to_s)
115
+ assert_equal("moneās", @aSecond.active_voice_subjunctive_mood_present_tense_second_person_singular_number.to_s)
116
+ assert_equal("moneat", @aSecond.active_voice_subjunctive_mood_present_tense_third_person_singular_number.to_s)
117
+ assert_equal("moneāmus", @aSecond.active_voice_subjunctive_mood_present_tense_first_person_plural_number.to_s)
118
+ assert_equal("moneātis", @aSecond.active_voice_subjunctive_mood_present_tense_second_person_plural_number.to_s)
119
+ assert_equal("moneant", @aSecond.active_voice_subjunctive_mood_present_tense_third_person_plural_number.to_s)
120
+
121
+ assert_equal("monērem", @aSecond.active_voice_subjunctive_mood_imperfect_tense_first_person_singular_number.to_s)
122
+ assert_equal("monērēs", @aSecond.active_voice_subjunctive_mood_imperfect_tense_second_person_singular_number.to_s)
123
+ assert_equal("monēret", @aSecond.active_voice_subjunctive_mood_imperfect_tense_third_person_singular_number.to_s)
124
+ assert_equal("monērēmus", @aSecond.active_voice_subjunctive_mood_imperfect_tense_first_person_plural_number.to_s)
125
+ assert_equal("monērētis", @aSecond.active_voice_subjunctive_mood_imperfect_tense_second_person_plural_number.to_s)
126
+ assert_equal("monērent", @aSecond.active_voice_subjunctive_mood_imperfect_tense_third_person_plural_number.to_s)
127
+
128
+ assert_equal("monuerim", @aSecond.active_voice_subjunctive_mood_perfect_tense_first_person_singular_number.to_s)
129
+ assert_equal("monuerīs", @aSecond.active_voice_subjunctive_mood_perfect_tense_second_person_singular_number.to_s)
130
+ assert_equal("monuerit", @aSecond.active_voice_subjunctive_mood_perfect_tense_third_person_singular_number.to_s)
131
+ assert_equal("monuerīmus", @aSecond.active_voice_subjunctive_mood_perfect_tense_first_person_plural_number.to_s)
132
+ assert_equal("monuerītis", @aSecond.active_voice_subjunctive_mood_perfect_tense_second_person_plural_number.to_s)
133
+ assert_equal("monuerint", @aSecond.active_voice_subjunctive_mood_perfect_tense_third_person_plural_number.to_s)
134
+
135
+ assert_equal("monuissem", @aSecond.active_voice_subjunctive_mood_pastperfect_tense_first_person_singular_number.to_s)
136
+ assert_equal("monuissēs", @aSecond.active_voice_subjunctive_mood_pastperfect_tense_second_person_singular_number.to_s)
137
+ assert_equal("monuisset", @aSecond.active_voice_subjunctive_mood_pastperfect_tense_third_person_singular_number.to_s)
138
+ assert_equal("monuissēmus", @aSecond.active_voice_subjunctive_mood_pastperfect_tense_first_person_plural_number.to_s)
139
+ assert_equal("monuissētis", @aSecond.active_voice_subjunctive_mood_pastperfect_tense_second_person_plural_number.to_s)
140
+ assert_equal("monuissent", @aSecond.active_voice_subjunctive_mood_pastperfect_tense_third_person_plural_number.to_s)
141
+
142
+ #passive
143
+ assert_equal("monear", @aSecond.passive_voice_subjunctive_mood_present_tense_first_person_singular_number.to_s)
144
+ assert_equal("moneāris", @aSecond.passive_voice_subjunctive_mood_present_tense_second_person_singular_number.to_s)
145
+ assert_equal("moneātur", @aSecond.passive_voice_subjunctive_mood_present_tense_third_person_singular_number.to_s)
146
+ assert_equal("moneāmur", @aSecond.passive_voice_subjunctive_mood_present_tense_first_person_plural_number.to_s)
147
+ assert_equal("moneāminī", @aSecond.passive_voice_subjunctive_mood_present_tense_second_person_plural_number.to_s)
148
+ assert_equal("moneantur", @aSecond.passive_voice_subjunctive_mood_present_tense_third_person_plural_number.to_s)
149
+
150
+ assert_equal("monērer", @aSecond.passive_voice_subjunctive_mood_imperfect_tense_first_person_singular_number.to_s)
151
+ assert_equal("monērēris", @aSecond.passive_voice_subjunctive_mood_imperfect_tense_second_person_singular_number.to_s)
152
+ assert_equal("monērētur", @aSecond.passive_voice_subjunctive_mood_imperfect_tense_third_person_singular_number.to_s)
153
+ assert_equal("monērēmur", @aSecond.passive_voice_subjunctive_mood_imperfect_tense_first_person_plural_number.to_s)
154
+ assert_equal("monērēminī", @aSecond.passive_voice_subjunctive_mood_imperfect_tense_second_person_plural_number.to_s)
155
+ assert_equal("monērentur", @aSecond.passive_voice_subjunctive_mood_imperfect_tense_third_person_plural_number.to_s)
156
+
157
+ assert_equal("[ monitus, monita, monitum ] sim", @aSecond.passive_voice_subjunctive_mood_perfect_tense_first_person_singular_number.to_s)
158
+ assert_equal("[ monitus, monita, monitum ] sis", @aSecond.passive_voice_subjunctive_mood_perfect_tense_second_person_singular_number.to_s)
159
+ assert_equal("[ monitus, monita, monitum ] sit", @aSecond.passive_voice_subjunctive_mood_perfect_tense_third_person_singular_number.to_s)
160
+ assert_equal("[ monitī, monitae, monita ] simus", @aSecond.passive_voice_subjunctive_mood_perfect_tense_first_person_plural_number.to_s)
161
+ assert_equal("[ monitī, monitae, monita ] sitis", @aSecond.passive_voice_subjunctive_mood_perfect_tense_second_person_plural_number.to_s)
162
+ assert_equal("[ monitī, monitae, monita ] sint", @aSecond.passive_voice_subjunctive_mood_perfect_tense_third_person_plural_number.to_s)
163
+
164
+ assert_equal("[ monitus, monita, monitum ] essem", @aSecond.passive_voice_subjunctive_mood_pastperfect_tense_first_person_singular_number.to_s)
165
+ assert_equal("[ monitus, monita, monitum ] essēs", @aSecond.passive_voice_subjunctive_mood_pastperfect_tense_second_person_singular_number.to_s)
166
+ assert_equal("[ monitus, monita, monitum ] esset", @aSecond.passive_voice_subjunctive_mood_pastperfect_tense_third_person_singular_number.to_s)
167
+ assert_equal("[ monitī, monitae, monita ] essēmus", @aSecond.passive_voice_subjunctive_mood_pastperfect_tense_first_person_plural_number.to_s)
168
+ assert_equal("[ monitī, monitae, monita ] essētis", @aSecond.passive_voice_subjunctive_mood_pastperfect_tense_second_person_plural_number.to_s)
169
+ assert_equal("[ monitī, monitae, monita ] essent", @aSecond.passive_voice_subjunctive_mood_pastperfect_tense_third_person_plural_number.to_s)
170
+
171
+ # Imperatives
172
+ assert_equal"monē", @aSecond.imperatives[0]
173
+ assert_equal"monēte", @aSecond.imperatives[1]
174
+
175
+ # Participles
176
+ assert_equal"monēns, monentis", @aSecond.present_active_participle
177
+ assert_equal"monitūrus, monitūra, monitūrum", @aSecond.future_active_participle
178
+ assert_equal"monitus, monita, monitum", @aSecond.perfect_passive_participle
179
+ assert_equal"monendus, monenda, monendum", @aSecond.future_passive_participle
180
+
181
+ # Infinitves
182
+ assert_equal "monēre", @aSecond.present_active_infinitive.to_s
183
+ assert_equal "monuīsse", @aSecond.perfect_active_infinitive
184
+ assert_equal "monitūrus esse", @aSecond.future_active_infinitive
185
+ assert_equal "monērī", @aSecond.present_passive_infinitive
186
+ assert_equal "monitus, monita, monitum esse", @aSecond.perfect_passive_infinitive
187
+ assert_equal "monitum īrī", @aSecond.future_passive_infinitive
188
+ end
189
+ end
@@ -0,0 +1,190 @@
1
+ # encoding: UTF-8
2
+
3
+ require "minitest/autorun"
4
+
5
+ $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
6
+ require 'latinverb'
7
+
8
+
9
+ class TestLatinVerbThirdConj < MiniTest::Unit::TestCase # :nodoc:
10
+ def setup
11
+ @aThird = Linguistics::Latin::Verb::LatinVerb.new 'agō agere ēgī actum'
12
+ end
13
+
14
+ def test_gerund
15
+ assert @aThird.gerund =~ %r'agendī', "Was not #{@aThird.gerund}"
16
+ assert @aThird.gerundive
17
+ end
18
+
19
+ def test_supine
20
+ assert_equal "actum", @aThird.supine[:accusative]
21
+ assert_equal "actū", @aThird.supine[:ablative]
22
+ end
23
+
24
+ def test_third_conj_exhaustively
25
+ assert_equal("agō", @aThird.active_voice_indicative_mood_present_tense_first_person_singular_number.to_s)
26
+ assert_equal("agis", @aThird.active_voice_indicative_mood_present_tense_second_person_singular_number.to_s)
27
+ assert_equal("agit", @aThird.active_voice_indicative_mood_present_tense_third_person_singular_number.to_s)
28
+ assert_equal("agimus", @aThird.active_voice_indicative_mood_present_tense_first_person_plural_number.to_s)
29
+ assert_equal("agitis", @aThird.active_voice_indicative_mood_present_tense_second_person_plural_number.to_s)
30
+ assert_equal("agunt", @aThird.active_voice_indicative_mood_present_tense_third_person_plural_number.to_s)
31
+
32
+ assert_equal("agēbam", @aThird.active_voice_indicative_mood_imperfect_tense_first_person_singular_number.to_s)
33
+ assert_equal("agēbās", @aThird.active_voice_indicative_mood_imperfect_tense_second_person_singular_number.to_s)
34
+ assert_equal("agēbat", @aThird.active_voice_indicative_mood_imperfect_tense_third_person_singular_number.to_s)
35
+ assert_equal("agēbāmus", @aThird.active_voice_indicative_mood_imperfect_tense_first_person_plural_number.to_s)
36
+ assert_equal("agēbātis", @aThird.active_voice_indicative_mood_imperfect_tense_second_person_plural_number.to_s)
37
+ assert_equal("agēbant", @aThird.active_voice_indicative_mood_imperfect_tense_third_person_plural_number.to_s)
38
+
39
+ assert_equal("agam", @aThird.active_voice_indicative_mood_future_tense_first_person_singular_number.to_s)
40
+ assert_equal("agēs", @aThird.active_voice_indicative_mood_future_tense_second_person_singular_number.to_s)
41
+ assert_equal("aget", @aThird.active_voice_indicative_mood_future_tense_third_person_singular_number.to_s)
42
+ assert_equal("agēmus", @aThird.active_voice_indicative_mood_future_tense_first_person_plural_number.to_s)
43
+ assert_equal("agētis", @aThird.active_voice_indicative_mood_future_tense_second_person_plural_number.to_s)
44
+ assert_equal("agent", @aThird.active_voice_indicative_mood_future_tense_third_person_plural_number.to_s)
45
+
46
+ assert_equal("ēgī", @aThird.active_voice_indicative_mood_perfect_tense_first_person_singular_number.to_s)
47
+ assert_equal("ēgistī", @aThird.active_voice_indicative_mood_perfect_tense_second_person_singular_number.to_s)
48
+ assert_equal("ēgit", @aThird.active_voice_indicative_mood_perfect_tense_third_person_singular_number.to_s)
49
+ assert_equal("ēgimus", @aThird.active_voice_indicative_mood_perfect_tense_first_person_plural_number.to_s)
50
+ assert_equal("ēgistis", @aThird.active_voice_indicative_mood_perfect_tense_second_person_plural_number.to_s)
51
+ assert_equal("ēgērunt", @aThird.active_voice_indicative_mood_perfect_tense_third_person_plural_number.to_s)
52
+
53
+ assert_equal("ēgeram", @aThird.active_voice_indicative_mood_pastperfect_tense_first_person_singular_number.to_s)
54
+ assert_equal("ēgerās", @aThird.active_voice_indicative_mood_pastperfect_tense_second_person_singular_number.to_s)
55
+ assert_equal("ēgerat", @aThird.active_voice_indicative_mood_pastperfect_tense_third_person_singular_number.to_s)
56
+ assert_equal("ēgerāmus", @aThird.active_voice_indicative_mood_pastperfect_tense_first_person_plural_number.to_s)
57
+ assert_equal("ēgerātis", @aThird.active_voice_indicative_mood_pastperfect_tense_second_person_plural_number.to_s)
58
+ assert_equal("ēgerant", @aThird.active_voice_indicative_mood_pastperfect_tense_third_person_plural_number.to_s)
59
+
60
+ assert_equal("ēgerō", @aThird.active_voice_indicative_mood_futureperfect_tense_first_person_singular_number.to_s)
61
+ assert_equal("ēgeris", @aThird.active_voice_indicative_mood_futureperfect_tense_second_person_singular_number.to_s)
62
+ assert_equal("ēgerit", @aThird.active_voice_indicative_mood_futureperfect_tense_third_person_singular_number.to_s)
63
+ assert_equal("ēgerimus", @aThird.active_voice_indicative_mood_futureperfect_tense_first_person_plural_number.to_s)
64
+ assert_equal("ēgeritis", @aThird.active_voice_indicative_mood_futureperfect_tense_second_person_plural_number.to_s)
65
+ assert_equal("ēgerint", @aThird.active_voice_indicative_mood_futureperfect_tense_third_person_plural_number.to_s)
66
+
67
+ # Passive Present
68
+
69
+ assert_equal("agor", @aThird.passive_voice_indicative_mood_present_tense_first_person_singular_number.to_s)
70
+ assert_equal("ageris", @aThird.passive_voice_indicative_mood_present_tense_second_person_singular_number.to_s)
71
+ assert_equal("agitur", @aThird.passive_voice_indicative_mood_present_tense_third_person_singular_number.to_s)
72
+ assert_equal("agimur", @aThird.passive_voice_indicative_mood_present_tense_first_person_plural_number.to_s)
73
+ assert_equal("agiminī", @aThird.passive_voice_indicative_mood_present_tense_second_person_plural_number.to_s)
74
+ assert_equal("aguntur", @aThird.passive_voice_indicative_mood_present_tense_third_person_plural_number.to_s)
75
+
76
+ assert_equal("agēbar", @aThird.passive_voice_indicative_mood_imperfect_tense_first_person_singular_number.to_s)
77
+ assert_equal("agēbāris", @aThird.passive_voice_indicative_mood_imperfect_tense_second_person_singular_number.to_s)
78
+ assert_equal("agēbātur", @aThird.passive_voice_indicative_mood_imperfect_tense_third_person_singular_number.to_s)
79
+ assert_equal("agēbāmur", @aThird.passive_voice_indicative_mood_imperfect_tense_first_person_plural_number.to_s)
80
+ assert_equal("agēbāminī", @aThird.passive_voice_indicative_mood_imperfect_tense_second_person_plural_number.to_s)
81
+ assert_equal("agēbantur", @aThird.passive_voice_indicative_mood_imperfect_tense_third_person_plural_number.to_s)
82
+
83
+ assert_equal("agar", @aThird.passive_voice_indicative_mood_future_tense_first_person_singular_number.to_s)
84
+ assert_equal("agēris", @aThird.passive_voice_indicative_mood_future_tense_second_person_singular_number.to_s)
85
+ assert_equal("agētur", @aThird.passive_voice_indicative_mood_future_tense_third_person_singular_number.to_s)
86
+ assert_equal("agēmur", @aThird.passive_voice_indicative_mood_future_tense_first_person_plural_number.to_s)
87
+ assert_equal("agēminī", @aThird.passive_voice_indicative_mood_future_tense_second_person_plural_number.to_s)
88
+ assert_equal("agentur", @aThird.passive_voice_indicative_mood_future_tense_third_person_plural_number.to_s)
89
+
90
+ # Passive perfect
91
+ assert_equal("actum sum", @aThird.passive_voice_indicative_mood_perfect_tense_first_person_singular_number.to_s)
92
+ assert_equal("actum es", @aThird.passive_voice_indicative_mood_perfect_tense_second_person_singular_number.to_s)
93
+ assert_equal("actum est", @aThird.passive_voice_indicative_mood_perfect_tense_third_person_singular_number.to_s)
94
+ assert_equal("actum sumus", @aThird.passive_voice_indicative_mood_perfect_tense_first_person_plural_number.to_s)
95
+ assert_equal("actum estis", @aThird.passive_voice_indicative_mood_perfect_tense_second_person_plural_number.to_s)
96
+ assert_equal("actum sunt", @aThird.passive_voice_indicative_mood_perfect_tense_third_person_plural_number.to_s)
97
+
98
+ assert_equal("actum eram", @aThird.passive_voice_indicative_mood_pastperfect_tense_first_person_singular_number.to_s)
99
+ assert_equal("actum erās", @aThird.passive_voice_indicative_mood_pastperfect_tense_second_person_singular_number.to_s)
100
+ assert_equal("actum erat", @aThird.passive_voice_indicative_mood_pastperfect_tense_third_person_singular_number.to_s)
101
+ assert_equal("actum erāmus", @aThird.passive_voice_indicative_mood_pastperfect_tense_first_person_plural_number.to_s)
102
+ assert_equal("actum erātis", @aThird.passive_voice_indicative_mood_pastperfect_tense_second_person_plural_number.to_s)
103
+ assert_equal("actum erant", @aThird.passive_voice_indicative_mood_pastperfect_tense_third_person_plural_number.to_s)
104
+
105
+ assert_equal("actum erō", @aThird.passive_voice_indicative_mood_futureperfect_tense_first_person_singular_number.to_s)
106
+ assert_equal("actum eris", @aThird.passive_voice_indicative_mood_futureperfect_tense_second_person_singular_number.to_s)
107
+ assert_equal("actum erit", @aThird.passive_voice_indicative_mood_futureperfect_tense_third_person_singular_number.to_s)
108
+ assert_equal("actum erimus", @aThird.passive_voice_indicative_mood_futureperfect_tense_first_person_plural_number.to_s)
109
+ assert_equal("actum eritis", @aThird.passive_voice_indicative_mood_futureperfect_tense_second_person_plural_number.to_s)
110
+ assert_equal("actum erint", @aThird.passive_voice_indicative_mood_futureperfect_tense_third_person_plural_number.to_s)
111
+
112
+ ### Subjunctives
113
+ # Active
114
+ assert_equal("agam", @aThird.active_voice_subjunctive_mood_present_tense_first_person_singular_number.to_s)
115
+ assert_equal("agās", @aThird.active_voice_subjunctive_mood_present_tense_second_person_singular_number.to_s)
116
+ assert_equal("agat", @aThird.active_voice_subjunctive_mood_present_tense_third_person_singular_number.to_s)
117
+ assert_equal("agāmus", @aThird.active_voice_subjunctive_mood_present_tense_first_person_plural_number.to_s)
118
+ assert_equal("agātis", @aThird.active_voice_subjunctive_mood_present_tense_second_person_plural_number.to_s)
119
+ assert_equal("agant", @aThird.active_voice_subjunctive_mood_present_tense_third_person_plural_number.to_s)
120
+
121
+ assert_equal("agerem", @aThird.active_voice_subjunctive_mood_imperfect_tense_first_person_singular_number.to_s)
122
+ assert_equal("agerēs", @aThird.active_voice_subjunctive_mood_imperfect_tense_second_person_singular_number.to_s)
123
+ assert_equal("ageret", @aThird.active_voice_subjunctive_mood_imperfect_tense_third_person_singular_number.to_s)
124
+ assert_equal("agerēmus", @aThird.active_voice_subjunctive_mood_imperfect_tense_first_person_plural_number.to_s)
125
+ assert_equal("agerētis", @aThird.active_voice_subjunctive_mood_imperfect_tense_second_person_plural_number.to_s)
126
+ assert_equal("agerent", @aThird.active_voice_subjunctive_mood_imperfect_tense_third_person_plural_number.to_s)
127
+
128
+ assert_equal("ēgerim", @aThird.active_voice_subjunctive_mood_perfect_tense_first_person_singular_number.to_s)
129
+ assert_equal("ēgerīs", @aThird.active_voice_subjunctive_mood_perfect_tense_second_person_singular_number.to_s)
130
+ assert_equal("ēgerit", @aThird.active_voice_subjunctive_mood_perfect_tense_third_person_singular_number.to_s)
131
+ assert_equal("ēgerīmus", @aThird.active_voice_subjunctive_mood_perfect_tense_first_person_plural_number.to_s)
132
+ assert_equal("ēgerītis", @aThird.active_voice_subjunctive_mood_perfect_tense_second_person_plural_number.to_s)
133
+ assert_equal("ēgerint", @aThird.active_voice_subjunctive_mood_perfect_tense_third_person_plural_number.to_s)
134
+
135
+ assert_equal("ēgissem", @aThird.active_voice_subjunctive_mood_pastperfect_tense_first_person_singular_number.to_s)
136
+ assert_equal("ēgissēs", @aThird.active_voice_subjunctive_mood_pastperfect_tense_second_person_singular_number.to_s)
137
+ assert_equal("ēgisset", @aThird.active_voice_subjunctive_mood_pastperfect_tense_third_person_singular_number.to_s)
138
+ assert_equal("ēgissēmus", @aThird.active_voice_subjunctive_mood_pastperfect_tense_first_person_plural_number.to_s)
139
+ assert_equal("ēgissētis", @aThird.active_voice_subjunctive_mood_pastperfect_tense_second_person_plural_number.to_s)
140
+ assert_equal("ēgissent", @aThird.active_voice_subjunctive_mood_pastperfect_tense_third_person_plural_number.to_s)
141
+
142
+ #passive
143
+ assert_equal("agar", @aThird.passive_voice_subjunctive_mood_present_tense_first_person_singular_number.to_s)
144
+ assert_equal("agāris", @aThird.passive_voice_subjunctive_mood_present_tense_second_person_singular_number.to_s)
145
+ assert_equal("agātur", @aThird.passive_voice_subjunctive_mood_present_tense_third_person_singular_number.to_s)
146
+ assert_equal("agāmur", @aThird.passive_voice_subjunctive_mood_present_tense_first_person_plural_number.to_s)
147
+ assert_equal("agāminī", @aThird.passive_voice_subjunctive_mood_present_tense_second_person_plural_number.to_s)
148
+ assert_equal("agantur", @aThird.passive_voice_subjunctive_mood_present_tense_third_person_plural_number.to_s)
149
+
150
+ assert_equal("agerer", @aThird.passive_voice_subjunctive_mood_imperfect_tense_first_person_singular_number.to_s)
151
+ assert_equal("agerēris", @aThird.passive_voice_subjunctive_mood_imperfect_tense_second_person_singular_number.to_s)
152
+ assert_equal("agerētur", @aThird.passive_voice_subjunctive_mood_imperfect_tense_third_person_singular_number.to_s)
153
+ assert_equal("agerēmur", @aThird.passive_voice_subjunctive_mood_imperfect_tense_first_person_plural_number.to_s)
154
+ assert_equal("agerēminī", @aThird.passive_voice_subjunctive_mood_imperfect_tense_second_person_plural_number.to_s)
155
+ assert_equal("agerentur", @aThird.passive_voice_subjunctive_mood_imperfect_tense_third_person_plural_number.to_s)
156
+
157
+ assert_equal("[ actus, acta, actum ] sim", @aThird.passive_voice_subjunctive_mood_perfect_tense_first_person_singular_number.to_s)
158
+ assert_equal("[ actus, acta, actum ] sis", @aThird.passive_voice_subjunctive_mood_perfect_tense_second_person_singular_number.to_s)
159
+ assert_equal("[ actus, acta, actum ] sit", @aThird.passive_voice_subjunctive_mood_perfect_tense_third_person_singular_number.to_s)
160
+ assert_equal("[ actī, actae, acta ] simus", @aThird.passive_voice_subjunctive_mood_perfect_tense_first_person_plural_number.to_s)
161
+ assert_equal("[ actī, actae, acta ] sitis", @aThird.passive_voice_subjunctive_mood_perfect_tense_second_person_plural_number.to_s)
162
+ assert_equal("[ actī, actae, acta ] sint", @aThird.passive_voice_subjunctive_mood_perfect_tense_third_person_plural_number.to_s)
163
+
164
+ assert_equal("[ actus, acta, actum ] essem", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_first_person_singular_number.to_s)
165
+ assert_equal("[ actus, acta, actum ] essēs", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_second_person_singular_number.to_s)
166
+ assert_equal("[ actus, acta, actum ] esset", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_third_person_singular_number.to_s)
167
+ assert_equal("[ actī, actae, acta ] essēmus", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_first_person_plural_number.to_s)
168
+ assert_equal("[ actī, actae, acta ] essētis", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_second_person_plural_number.to_s)
169
+ assert_equal("[ actī, actae, acta ] essent", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_third_person_plural_number.to_s)
170
+
171
+ # Imperatives
172
+ assert_equal"age", @aThird.imperatives[0]
173
+ assert_equal"agite", @aThird.imperatives[1]
174
+
175
+ # Participles
176
+ assert_equal"agens, agentis", @aThird.present_active_participle
177
+ assert_equal"actūrus, actūra, actūrum", @aThird.future_active_participle
178
+ assert_equal"actus, acta, actum", @aThird.perfect_passive_participle
179
+ assert_equal"agendus, agenda, agendum", @aThird.future_passive_participle
180
+
181
+ # Infinitves
182
+ assert_equal "agere", @aThird.present_active_infinitive.to_s
183
+ assert_equal "ēgīsse", @aThird.perfect_active_infinitive
184
+ assert_equal "actūrus esse", @aThird.future_active_infinitive
185
+ assert_equal "agī", @aThird.present_passive_infinitive
186
+ assert_equal "actus, acta, actum esse", @aThird.perfect_passive_infinitive
187
+ assert_equal "actum īrī", @aThird.future_passive_infinitive
188
+ end
189
+
190
+ end