latinverb 0.2.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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