/test/testThirdConjugation.rb

https://github.com/judytuna/LatinVerb · Ruby · 190 lines · 150 code · 31 blank · 9 comment · 0 complexity · fee3951677a8733f82e1ec560a3d0535 MD5 · raw file

  1. # encoding: UTF-8
  2. require "minitest/autorun"
  3. $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
  4. require 'latinverb'
  5. class TestLatinVerbThirdConj < MiniTest::Unit::TestCase # :nodoc:
  6. def setup
  7. @aThird = Linguistics::Latin::Verb::LatinVerb.new 'agō agere ēgī actum'
  8. end
  9. def test_gerund
  10. assert @aThird.gerund =~ %r'agendī', "Was not #{@aThird.gerund}"
  11. assert @aThird.gerundive
  12. end
  13. def test_supine
  14. assert_equal "actum", @aThird.supine[:accusative]
  15. assert_equal "actū", @aThird.supine[:ablative]
  16. end
  17. def test_third_conj_exhaustively
  18. assert_equal("agō", @aThird.active_voice_indicative_mood_present_tense_first_person_singular_number.to_s)
  19. assert_equal("agis", @aThird.active_voice_indicative_mood_present_tense_second_person_singular_number.to_s)
  20. assert_equal("agit", @aThird.active_voice_indicative_mood_present_tense_third_person_singular_number.to_s)
  21. assert_equal("agimus", @aThird.active_voice_indicative_mood_present_tense_first_person_plural_number.to_s)
  22. assert_equal("agitis", @aThird.active_voice_indicative_mood_present_tense_second_person_plural_number.to_s)
  23. assert_equal("agunt", @aThird.active_voice_indicative_mood_present_tense_third_person_plural_number.to_s)
  24. assert_equal("agēbam", @aThird.active_voice_indicative_mood_imperfect_tense_first_person_singular_number.to_s)
  25. assert_equal("agēbās", @aThird.active_voice_indicative_mood_imperfect_tense_second_person_singular_number.to_s)
  26. assert_equal("agēbat", @aThird.active_voice_indicative_mood_imperfect_tense_third_person_singular_number.to_s)
  27. assert_equal("agēbāmus", @aThird.active_voice_indicative_mood_imperfect_tense_first_person_plural_number.to_s)
  28. assert_equal("agēbātis", @aThird.active_voice_indicative_mood_imperfect_tense_second_person_plural_number.to_s)
  29. assert_equal("agēbant", @aThird.active_voice_indicative_mood_imperfect_tense_third_person_plural_number.to_s)
  30. assert_equal("agam", @aThird.active_voice_indicative_mood_future_tense_first_person_singular_number.to_s)
  31. assert_equal("agēs", @aThird.active_voice_indicative_mood_future_tense_second_person_singular_number.to_s)
  32. assert_equal("aget", @aThird.active_voice_indicative_mood_future_tense_third_person_singular_number.to_s)
  33. assert_equal("agēmus", @aThird.active_voice_indicative_mood_future_tense_first_person_plural_number.to_s)
  34. assert_equal("agētis", @aThird.active_voice_indicative_mood_future_tense_second_person_plural_number.to_s)
  35. assert_equal("agent", @aThird.active_voice_indicative_mood_future_tense_third_person_plural_number.to_s)
  36. assert_equal("ēgī", @aThird.active_voice_indicative_mood_perfect_tense_first_person_singular_number.to_s)
  37. assert_equal("ēgistī", @aThird.active_voice_indicative_mood_perfect_tense_second_person_singular_number.to_s)
  38. assert_equal("ēgit", @aThird.active_voice_indicative_mood_perfect_tense_third_person_singular_number.to_s)
  39. assert_equal("ēgimus", @aThird.active_voice_indicative_mood_perfect_tense_first_person_plural_number.to_s)
  40. assert_equal("ēgistis", @aThird.active_voice_indicative_mood_perfect_tense_second_person_plural_number.to_s)
  41. assert_equal("ēgērunt", @aThird.active_voice_indicative_mood_perfect_tense_third_person_plural_number.to_s)
  42. assert_equal("ēgeram", @aThird.active_voice_indicative_mood_pastperfect_tense_first_person_singular_number.to_s)
  43. assert_equal("ēgerās", @aThird.active_voice_indicative_mood_pastperfect_tense_second_person_singular_number.to_s)
  44. assert_equal("ēgerat", @aThird.active_voice_indicative_mood_pastperfect_tense_third_person_singular_number.to_s)
  45. assert_equal("ēgerāmus", @aThird.active_voice_indicative_mood_pastperfect_tense_first_person_plural_number.to_s)
  46. assert_equal("ēgerātis", @aThird.active_voice_indicative_mood_pastperfect_tense_second_person_plural_number.to_s)
  47. assert_equal("ēgerant", @aThird.active_voice_indicative_mood_pastperfect_tense_third_person_plural_number.to_s)
  48. assert_equal("ēgerō", @aThird.active_voice_indicative_mood_futureperfect_tense_first_person_singular_number.to_s)
  49. assert_equal("ēgeris", @aThird.active_voice_indicative_mood_futureperfect_tense_second_person_singular_number.to_s)
  50. assert_equal("ēgerit", @aThird.active_voice_indicative_mood_futureperfect_tense_third_person_singular_number.to_s)
  51. assert_equal("ēgerimus", @aThird.active_voice_indicative_mood_futureperfect_tense_first_person_plural_number.to_s)
  52. assert_equal("ēgeritis", @aThird.active_voice_indicative_mood_futureperfect_tense_second_person_plural_number.to_s)
  53. assert_equal("ēgerint", @aThird.active_voice_indicative_mood_futureperfect_tense_third_person_plural_number.to_s)
  54. # Passive Present
  55. assert_equal("agor", @aThird.passive_voice_indicative_mood_present_tense_first_person_singular_number.to_s)
  56. assert_equal("ageris", @aThird.passive_voice_indicative_mood_present_tense_second_person_singular_number.to_s)
  57. assert_equal("agitur", @aThird.passive_voice_indicative_mood_present_tense_third_person_singular_number.to_s)
  58. assert_equal("agimur", @aThird.passive_voice_indicative_mood_present_tense_first_person_plural_number.to_s)
  59. assert_equal("agiminī", @aThird.passive_voice_indicative_mood_present_tense_second_person_plural_number.to_s)
  60. assert_equal("aguntur", @aThird.passive_voice_indicative_mood_present_tense_third_person_plural_number.to_s)
  61. assert_equal("agēbar", @aThird.passive_voice_indicative_mood_imperfect_tense_first_person_singular_number.to_s)
  62. assert_equal("agēbāris", @aThird.passive_voice_indicative_mood_imperfect_tense_second_person_singular_number.to_s)
  63. assert_equal("agēbātur", @aThird.passive_voice_indicative_mood_imperfect_tense_third_person_singular_number.to_s)
  64. assert_equal("agēbāmur", @aThird.passive_voice_indicative_mood_imperfect_tense_first_person_plural_number.to_s)
  65. assert_equal("agēbāminī", @aThird.passive_voice_indicative_mood_imperfect_tense_second_person_plural_number.to_s)
  66. assert_equal("agēbantur", @aThird.passive_voice_indicative_mood_imperfect_tense_third_person_plural_number.to_s)
  67. assert_equal("agar", @aThird.passive_voice_indicative_mood_future_tense_first_person_singular_number.to_s)
  68. assert_equal("agēris", @aThird.passive_voice_indicative_mood_future_tense_second_person_singular_number.to_s)
  69. assert_equal("agētur", @aThird.passive_voice_indicative_mood_future_tense_third_person_singular_number.to_s)
  70. assert_equal("agēmur", @aThird.passive_voice_indicative_mood_future_tense_first_person_plural_number.to_s)
  71. assert_equal("agēminī", @aThird.passive_voice_indicative_mood_future_tense_second_person_plural_number.to_s)
  72. assert_equal("agentur", @aThird.passive_voice_indicative_mood_future_tense_third_person_plural_number.to_s)
  73. # Passive perfect
  74. assert_equal("actum sum", @aThird.passive_voice_indicative_mood_perfect_tense_first_person_singular_number.to_s)
  75. assert_equal("actum es", @aThird.passive_voice_indicative_mood_perfect_tense_second_person_singular_number.to_s)
  76. assert_equal("actum est", @aThird.passive_voice_indicative_mood_perfect_tense_third_person_singular_number.to_s)
  77. assert_equal("actum sumus", @aThird.passive_voice_indicative_mood_perfect_tense_first_person_plural_number.to_s)
  78. assert_equal("actum estis", @aThird.passive_voice_indicative_mood_perfect_tense_second_person_plural_number.to_s)
  79. assert_equal("actum sunt", @aThird.passive_voice_indicative_mood_perfect_tense_third_person_plural_number.to_s)
  80. assert_equal("actum eram", @aThird.passive_voice_indicative_mood_pastperfect_tense_first_person_singular_number.to_s)
  81. assert_equal("actum erās", @aThird.passive_voice_indicative_mood_pastperfect_tense_second_person_singular_number.to_s)
  82. assert_equal("actum erat", @aThird.passive_voice_indicative_mood_pastperfect_tense_third_person_singular_number.to_s)
  83. assert_equal("actum erāmus", @aThird.passive_voice_indicative_mood_pastperfect_tense_first_person_plural_number.to_s)
  84. assert_equal("actum erātis", @aThird.passive_voice_indicative_mood_pastperfect_tense_second_person_plural_number.to_s)
  85. assert_equal("actum erant", @aThird.passive_voice_indicative_mood_pastperfect_tense_third_person_plural_number.to_s)
  86. assert_equal("actum erō", @aThird.passive_voice_indicative_mood_futureperfect_tense_first_person_singular_number.to_s)
  87. assert_equal("actum eris", @aThird.passive_voice_indicative_mood_futureperfect_tense_second_person_singular_number.to_s)
  88. assert_equal("actum erit", @aThird.passive_voice_indicative_mood_futureperfect_tense_third_person_singular_number.to_s)
  89. assert_equal("actum erimus", @aThird.passive_voice_indicative_mood_futureperfect_tense_first_person_plural_number.to_s)
  90. assert_equal("actum eritis", @aThird.passive_voice_indicative_mood_futureperfect_tense_second_person_plural_number.to_s)
  91. assert_equal("actum erint", @aThird.passive_voice_indicative_mood_futureperfect_tense_third_person_plural_number.to_s)
  92. ### Subjunctives
  93. # Active
  94. assert_equal("agam", @aThird.active_voice_subjunctive_mood_present_tense_first_person_singular_number.to_s)
  95. assert_equal("agās", @aThird.active_voice_subjunctive_mood_present_tense_second_person_singular_number.to_s)
  96. assert_equal("agat", @aThird.active_voice_subjunctive_mood_present_tense_third_person_singular_number.to_s)
  97. assert_equal("agāmus", @aThird.active_voice_subjunctive_mood_present_tense_first_person_plural_number.to_s)
  98. assert_equal("agātis", @aThird.active_voice_subjunctive_mood_present_tense_second_person_plural_number.to_s)
  99. assert_equal("agant", @aThird.active_voice_subjunctive_mood_present_tense_third_person_plural_number.to_s)
  100. assert_equal("agerem", @aThird.active_voice_subjunctive_mood_imperfect_tense_first_person_singular_number.to_s)
  101. assert_equal("agerēs", @aThird.active_voice_subjunctive_mood_imperfect_tense_second_person_singular_number.to_s)
  102. assert_equal("ageret", @aThird.active_voice_subjunctive_mood_imperfect_tense_third_person_singular_number.to_s)
  103. assert_equal("agerēmus", @aThird.active_voice_subjunctive_mood_imperfect_tense_first_person_plural_number.to_s)
  104. assert_equal("agerētis", @aThird.active_voice_subjunctive_mood_imperfect_tense_second_person_plural_number.to_s)
  105. assert_equal("agerent", @aThird.active_voice_subjunctive_mood_imperfect_tense_third_person_plural_number.to_s)
  106. assert_equal("ēgerim", @aThird.active_voice_subjunctive_mood_perfect_tense_first_person_singular_number.to_s)
  107. assert_equal("ēgerīs", @aThird.active_voice_subjunctive_mood_perfect_tense_second_person_singular_number.to_s)
  108. assert_equal("ēgerit", @aThird.active_voice_subjunctive_mood_perfect_tense_third_person_singular_number.to_s)
  109. assert_equal("ēgerīmus", @aThird.active_voice_subjunctive_mood_perfect_tense_first_person_plural_number.to_s)
  110. assert_equal("ēgerītis", @aThird.active_voice_subjunctive_mood_perfect_tense_second_person_plural_number.to_s)
  111. assert_equal("ēgerint", @aThird.active_voice_subjunctive_mood_perfect_tense_third_person_plural_number.to_s)
  112. assert_equal("ēgissem", @aThird.active_voice_subjunctive_mood_pastperfect_tense_first_person_singular_number.to_s)
  113. assert_equal("ēgissēs", @aThird.active_voice_subjunctive_mood_pastperfect_tense_second_person_singular_number.to_s)
  114. assert_equal("ēgisset", @aThird.active_voice_subjunctive_mood_pastperfect_tense_third_person_singular_number.to_s)
  115. assert_equal("ēgissēmus", @aThird.active_voice_subjunctive_mood_pastperfect_tense_first_person_plural_number.to_s)
  116. assert_equal("ēgissētis", @aThird.active_voice_subjunctive_mood_pastperfect_tense_second_person_plural_number.to_s)
  117. assert_equal("ēgissent", @aThird.active_voice_subjunctive_mood_pastperfect_tense_third_person_plural_number.to_s)
  118. #passive
  119. assert_equal("agar", @aThird.passive_voice_subjunctive_mood_present_tense_first_person_singular_number.to_s)
  120. assert_equal("agāris", @aThird.passive_voice_subjunctive_mood_present_tense_second_person_singular_number.to_s)
  121. assert_equal("agātur", @aThird.passive_voice_subjunctive_mood_present_tense_third_person_singular_number.to_s)
  122. assert_equal("agāmur", @aThird.passive_voice_subjunctive_mood_present_tense_first_person_plural_number.to_s)
  123. assert_equal("agāminī", @aThird.passive_voice_subjunctive_mood_present_tense_second_person_plural_number.to_s)
  124. assert_equal("agantur", @aThird.passive_voice_subjunctive_mood_present_tense_third_person_plural_number.to_s)
  125. assert_equal("agerer", @aThird.passive_voice_subjunctive_mood_imperfect_tense_first_person_singular_number.to_s)
  126. assert_equal("agerēris", @aThird.passive_voice_subjunctive_mood_imperfect_tense_second_person_singular_number.to_s)
  127. assert_equal("agerētur", @aThird.passive_voice_subjunctive_mood_imperfect_tense_third_person_singular_number.to_s)
  128. assert_equal("agerēmur", @aThird.passive_voice_subjunctive_mood_imperfect_tense_first_person_plural_number.to_s)
  129. assert_equal("agerēminī", @aThird.passive_voice_subjunctive_mood_imperfect_tense_second_person_plural_number.to_s)
  130. assert_equal("agerentur", @aThird.passive_voice_subjunctive_mood_imperfect_tense_third_person_plural_number.to_s)
  131. assert_equal("[ actus, acta, actum ] sim", @aThird.passive_voice_subjunctive_mood_perfect_tense_first_person_singular_number.to_s)
  132. assert_equal("[ actus, acta, actum ] sis", @aThird.passive_voice_subjunctive_mood_perfect_tense_second_person_singular_number.to_s)
  133. assert_equal("[ actus, acta, actum ] sit", @aThird.passive_voice_subjunctive_mood_perfect_tense_third_person_singular_number.to_s)
  134. assert_equal("[ actī, actae, acta ] simus", @aThird.passive_voice_subjunctive_mood_perfect_tense_first_person_plural_number.to_s)
  135. assert_equal("[ actī, actae, acta ] sitis", @aThird.passive_voice_subjunctive_mood_perfect_tense_second_person_plural_number.to_s)
  136. assert_equal("[ actī, actae, acta ] sint", @aThird.passive_voice_subjunctive_mood_perfect_tense_third_person_plural_number.to_s)
  137. assert_equal("[ actus, acta, actum ] essem", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_first_person_singular_number.to_s)
  138. assert_equal("[ actus, acta, actum ] essēs", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_second_person_singular_number.to_s)
  139. assert_equal("[ actus, acta, actum ] esset", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_third_person_singular_number.to_s)
  140. assert_equal("[ actī, actae, acta ] essēmus", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_first_person_plural_number.to_s)
  141. assert_equal("[ actī, actae, acta ] essētis", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_second_person_plural_number.to_s)
  142. assert_equal("[ actī, actae, acta ] essent", @aThird.passive_voice_subjunctive_mood_pastperfect_tense_third_person_plural_number.to_s)
  143. # Imperatives
  144. assert_equal"age", @aThird.imperatives[0]
  145. assert_equal"agite", @aThird.imperatives[1]
  146. # Participles
  147. assert_equal"agens, agentis", @aThird.present_active_participle
  148. assert_equal"actūrus, actūra, actūrum", @aThird.future_active_participle
  149. assert_equal"actus, acta, actum", @aThird.perfect_passive_participle
  150. assert_equal"agendus, agenda, agendum", @aThird.future_passive_participle
  151. # Infinitves
  152. assert_equal "agere", @aThird.present_active_infinitive.to_s
  153. assert_equal "ēgīsse", @aThird.perfect_active_infinitive
  154. assert_equal "actūrus esse", @aThird.future_active_infinitive
  155. assert_equal "agī", @aThird.present_passive_infinitive
  156. assert_equal "actus, acta, actum esse", @aThird.perfect_passive_infinitive
  157. assert_equal "actum īrī", @aThird.future_passive_infinitive
  158. end
  159. end