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.
- data/.gitignore +0 -1
- data/Gemfile +1 -2
- data/README.markdown +54 -240
- data/etc/irreg_skel.json +104 -0
- data/{latinirb.gemspec → latinverb.gemspec} +4 -4
- data/lib/latinverb/chart.rb +94 -0
- data/lib/latinverb/version.rb +10 -0
- data/lib/latinverb.rb +710 -0
- data/lib/linguistics/latin/verb/classification_types.rb +59 -0
- data/lib/linguistics/latin/verb/constants.rb +201 -0
- data/lib/linguistics/latin/verb/deponent_tense_methods.rb +98 -0
- data/lib/linguistics/latin/verb/infinitives.rb +212 -0
- data/lib/linguistics/latin/verb/irregulars.rb +4393 -0
- data/lib/linguistics/latin/verb/latinverb/auxiliary_classes.rb +208 -0
- data/lib/linguistics/latin/verb/latinverb/classmethods.rb +215 -0
- data/lib/linguistics/latin/verb/latinverb/data.rb +90 -0
- data/lib/linguistics/latin/verb/latinverb/display.rb +23 -0
- data/lib/linguistics/latin/verb/latinverb/metaprogramming.rb +79 -0
- data/lib/linguistics/latin/verb/latinverb/validation.rb +66 -0
- data/lib/linguistics/latin/verb/participles.rb +202 -0
- data/lib/linguistics/latin/verb/phonographia.rb +109 -0
- data/lib/linguistics/latin/verb/supine.rb +42 -0
- data/lib/linguistics/latin/verb/tense_methods.rb +950 -0
- data/test/testAmbiguousLookups.rb +30 -0
- data/test/testClusterResolution.rb +20 -0
- data/test/testDataStructures.rb +29 -0
- data/test/testDefectSemiImp.rb +111 -0
- data/test/testDeponentFirstConjugation.rb +64 -0
- data/test/testDeponentFourthConjugation.rb +64 -0
- data/test/testDeponentSecondConjugation.rb +64 -0
- data/test/testDeponentThirdConjugation.rb +64 -0
- data/test/testDeponentThirdIOConjugation.rb +64 -0
- data/test/testDeserializeInfinitives.rb +38 -0
- data/test/testFirstConjugation.rb +388 -0
- data/test/testFourthConjugation.rb +190 -0
- data/test/testFreakishVerbs.rb +93 -0
- data/test/testImperativeBlock.rb +27 -0
- data/test/testIrregularSum.rb +22 -0
- data/test/testIrregulars.rb +652 -0
- data/test/testLatinVerb.rb +195 -0
- data/test/testMacronRules.rb +19 -0
- data/test/testSecondConjugation.rb +189 -0
- data/test/testThirdConjugation.rb +190 -0
- data/test/testThirdIOConjugation.rb +190 -0
- metadata +70 -18
- data/bin/latinirb.rb +0 -7
- data/latinverb.rb +0 -544
- data/lib/LatinIRB.rb +0 -172
- data/lib/latinirb/paradigmatic_verbs.rb +0 -17
- data/lib/latinirb/version.rb +0 -10
- data/lib/latirb.rb +0 -20
@@ -0,0 +1,93 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
|
3
|
+
require 'minitest/autorun'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
$:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
|
7
|
+
require 'latinverb'
|
8
|
+
require 'linguistics/latin/verb/classification_types'
|
9
|
+
|
10
|
+
# Internal dependencies
|
11
|
+
|
12
|
+
class TestFreakishVerbs < MiniTest::Unit::TestCase # :nodoc:
|
13
|
+
def test_present_only
|
14
|
+
v = Linguistics::Latin::Verb::LatinVerb.new 'maerō maēre maīvī maestum'
|
15
|
+
assert v.present_only
|
16
|
+
assert_equal 6, v.active_voice_indicative_mood_perfect_tense.length
|
17
|
+
assert_equal '', v.active_voice_indicative_mood_perfect_tense_first_person_singular_number
|
18
|
+
end
|
19
|
+
def test_present_only_from_sing
|
20
|
+
v = Linguistics::Latin::Verb::LatinVerb.new 'aiō'
|
21
|
+
assert v.present_only
|
22
|
+
|
23
|
+
# Primary use of this verb
|
24
|
+
assert_equal 'ait', v.active_voice_indicative_mood_present_tense_third_person_singular_number
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_very_odd_verbs
|
29
|
+
choices = %w( quaesō ovāre )
|
30
|
+
|
31
|
+
choices.each do |v|
|
32
|
+
vi = Linguistics::Latin::Verb::LatinVerb.new v
|
33
|
+
assert vi.present_only
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_impersonal
|
38
|
+
v = Linguistics::Latin::Verb::LatinVerb.new 'pluit'
|
39
|
+
assert_equal Linguistics::Latin::Verb::VerbTypes::Impersonal, v.classification
|
40
|
+
assert_equal 'pluit', v.active_voice_indicative_mood_present_tense_third_person_singular_number
|
41
|
+
end
|
42
|
+
|
43
|
+
=begin rdoc
|
44
|
+
* 191 - Irregular deponent verbs
|
45
|
+
|
46
|
+
This section in A&G says that the following are irregular deponents,
|
47
|
+
nevertheless a preliminary test on fruor did not show that. I'm storing
|
48
|
+
these here for reference, but do not believe this is a real issue to be
|
49
|
+
addressed.
|
50
|
+
|
51
|
+
adsentior, -īrī, adsēnsus, assent
|
52
|
+
oblīvīscor, -ī, oblītus, forget.
|
53
|
+
apīscor, (-ip-), -ī, aptus (-eptus), get
|
54
|
+
opperior, -īrī, oppertus, await.
|
55
|
+
dēfetīscor, -ī, -fessus, faint
|
56
|
+
órdior, -īrī, órsus, begin.
|
57
|
+
expergīscor, -ī, -perrēctus, rouse
|
58
|
+
orior, -īrī, ortus (oritūrus), rise (3d
|
59
|
+
experior, -īrī, expertus, try
|
60
|
+
conjugation in most forms).
|
61
|
+
fateor, -ērī, fassus, confess
|
62
|
+
pacīscor, -ī, pactus, bargain.
|
63
|
+
fruor, -ī, frūctus (fruitus), enjoy
|
64
|
+
patior (-petior), -ī, passus (-pessus),
|
65
|
+
fungor, -ī, fūnctus, fulfil
|
66
|
+
gradior (-gredior), -ī, gressus, step
|
67
|
+
-plector, -ī, -plexus, clasp.
|
68
|
+
īrāscor, -ī, īrātus, be angry
|
69
|
+
proficīscor, -ī, profectus, set out.
|
70
|
+
lābor, -ī, lāpsus, fall
|
71
|
+
queror, -ī, questus, complain.
|
72
|
+
loquor, -ī, locūtus, speak
|
73
|
+
reor, rērī, ratus, think.
|
74
|
+
mētior, -īrī, mēnsus, measure
|
75
|
+
revertor, -ī, reversus, return.
|
76
|
+
-minīscor, -ī, -mentus, think
|
77
|
+
ringor, -ī, rictus, snarl.
|
78
|
+
morior, -ī, (-īrī), mortuus (moritūrus), die
|
79
|
+
sequor, -ī, secūtus, follow.
|
80
|
+
nancīscor, -ī, nactus (nānctus), find
|
81
|
+
tueor, -ērī, tuitus (tūtus), defend.
|
82
|
+
nāscor, -ī, nātus, be born
|
83
|
+
ulcīscor, -ī, ultus, avenge.
|
84
|
+
nītor, -ī, nīsus (nīxus), strive
|
85
|
+
ūtor, -ī, ūsus, use, employ.
|
86
|
+
=end
|
87
|
+
|
88
|
+
def test_irregular_deponents
|
89
|
+
v = Linguistics::Latin::Verb::LatinVerb.new 'fruor fruī frūctus '
|
90
|
+
assert 'fruitur', v.active_voice_indicative_mood_present_tense_third_person_singular_number
|
91
|
+
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,27 @@
|
|
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 TestImperfectBlock < MiniTest::Unit::TestCase # :nodoc:
|
11
|
+
def setup
|
12
|
+
@aFirst = Linguistics::Latin::Verb::LatinVerb.new 'amō amāre amāvī amatum'
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_basic
|
16
|
+
require 'pp'
|
17
|
+
assert @aFirst.active_voice_indicative_mood_present_tense_second_person_plural_number
|
18
|
+
assert "amāte", @aFirst.active_voice_imperative_mood_present_tense_second_person_plural_number
|
19
|
+
assert "amā", @aFirst.active_voice_imperative_mood_present_tense_second_person_singular_number
|
20
|
+
|
21
|
+
assert "amāte", @aFirst.active_voice_imperative_mood_future_tense_second_person_plural_number
|
22
|
+
assert "amā", @aFirst.active_voice_imperative_mood_future_tense_second_person_singular_number
|
23
|
+
|
24
|
+
assert "amāte", @aFirst.active_voice_imperative_mood_future_tense_third_person_plural_number
|
25
|
+
assert "amā", @aFirst.active_voice_imperative_mood_future_tense_third_person_singular_number
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
|
3
|
+
require 'minitest/autorun'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
$:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
|
7
|
+
require 'latinverb'
|
8
|
+
require 'linguistics/latin/verb/classification_types'
|
9
|
+
|
10
|
+
# Internal dependencies
|
11
|
+
|
12
|
+
class TestIrregularSum < MiniTest::Unit::TestCase # :nodoc:
|
13
|
+
def setup
|
14
|
+
@toBe = Linguistics::Latin::Verb::LatinVerb.new 'sum esse fuī futūrus'
|
15
|
+
end
|
16
|
+
def test_essential_irregular_qualities
|
17
|
+
assert_equal(true, @toBe.irregular?)
|
18
|
+
assert @toBe.active_voice_indicative_mood_present_tense_first_person_singular_number
|
19
|
+
assert_equal('sum', @toBe.active_voice_indicative_mood_present_tense_first_person_singular_number)
|
20
|
+
assert_equal('sim', @toBe.active_voice_subjunctive_mood_present_tense_first_person_singular_number)
|
21
|
+
end
|
22
|
+
end
|