Class: JLDrill::SampleQuiz

Inherits:
Object
  • Object
show all
Defined in:
lib/jldrill/spec/SampleQuiz.rb

Overview

This is a helper class for the tests. It simply represents a small quiz. The various parts of the quiz are broken down to facilitate testing.

Constant Summary collapse

FileHeader =
JLDrill::VERSION + "-LDRILL-SAVE Testfile"
FileInfo =
%Q[
# This is the info line]
FileOptions =
%Q[
Random Order
Promotion Threshold: 4
Introduction Threshold: 17
Review Meaning
Review Kanji]
FileDefaultOptions =
%Q[
Promotion Threshold: 2
Introduction Threshold: 10
Review Meaning
Review Kanji]
FileVocab =
%Q[
Unseen
/Kanji: 会う/Reading: あう/Definitions: to meet,to interview/Markers: v5u,P/Position: 0/Consecutive: 0/MeaningProblem/Score: 0/Level: 0/Difficulty: 0/
Poor
Fair
/Kanji: 青い/Reading: あおい/Definitions: blue,pale,green,unripe,inexperienced/Markers: adj,P/Position: 1/Consecutive: 0/MeaningProblem/Score: 0/Level: 0/Difficulty: 0/
Good
Excellent
/Kanji: 赤い/Reading: あかい/Definitions: red/Markers: adj,P/Position: 2/Consecutive: 1/MeaningProblem/Score: 0/Level: 0/LastReviewed: 1230076403/Duration: 10/Difficulty: 0/
/Kanji: 明い/Reading: あかるい/Definitions: bright,cheerful/Markers: adj/Position: 3/Consecutive: 1/MeaningProblem/Score: 0/Level: 0/LastReviewed: 1230076403/Duration: 10/Difficulty: 0/
Forgotten
]
ResetVocab =

The following is the same vocabulary but with the quiz reset so that every item is unseen.

%Q[
Unseen
/Kanji: 青い/Reading: あおい/Definitions: blue,pale,green,unripe,inexperienced/Markers: adj,P/Position: 1/Consecutive: 0/MeaningProblem/Score: 0/Level: 0/Difficulty: 0/
/Kanji: 赤い/Reading: あかい/Definitions: red/Markers: adj,P/Position: 2/Consecutive: 0/MeaningProblem/Score: 0/Level: 0/Difficulty: 0/
/Kanji: 明い/Reading: あかるい/Definitions: bright,cheerful/Markers: adj/Position: 3/Consecutive: 0/MeaningProblem/Score: 0/Level: 0/Difficulty: 0/
Poor
/Kanji: 会う/Reading: あう/Definitions: to meet,to interview/Markers: v5u,P/Position: 0/Consecutive: 0/MeaningProblem/Score: 0/Level: 0/Difficulty: 0/
]
AllVocab =

This is the result of allVocab joined with \n

%Q[/Kanji: 会う/Reading: あう/Definitions: to meet,to interview/Markers: v5u,P
/Kanji: 青い/Reading: あおい/Definitions: blue,pale,green,unripe,inexperienced/Markers: adj,P
/Kanji: 赤い/Reading: あかい/Definitions: red/Markers: adj,P
/Kanji: 明い/Reading: あかるい/Definitions: bright,cheerful/Markers: adj]
NewVocab =

This is a new vocabulary to use for adding to the quiz

"/Kanji: 秋/Reading: あき/Definitions: autumn,fall/Markers: n-adv,P/Position: -1/Consecutive: 0/MeaningProblem/Score: 0/Level: 0/Difficulty: 0/"
FileString =
FileHeader + FileInfo + FileOptions + FileVocab
ResetString =
FileHeader + FileInfo + FileOptions + ResetVocab
DefaultString =
FileHeader + FileInfo + ResetVocab

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ SampleQuiz

Returns a new instance of SampleQuiz.



74
75
76
77
78
79
80
81
82
# File 'lib/jldrill/spec/SampleQuiz.rb', line 74

def initialize
    @quiz = Quiz.new
    @quiz.loadFromString("SampleQuiz", FileString)
    @resetQuiz = Quiz.new
    @resetQuiz.loadFromString("ResetQuiz", ResetString)
    @emptyQuiz = Quiz.new
    @defaultQuiz = Quiz.new
    @defaultQuiz.loadFromString("DefaultQuiz", DefaultString)
end

Instance Attribute Details

#defaultQuiz ⇒ Object (readonly)

Returns the value of attribute defaultQuiz.



72
73
74
# File 'lib/jldrill/spec/SampleQuiz.rb', line 72

def defaultQuiz
  @defaultQuiz
end

#emptyQuiz ⇒ Object (readonly)

Returns the value of attribute emptyQuiz.



72
73
74
# File 'lib/jldrill/spec/SampleQuiz.rb', line 72

def emptyQuiz
  @emptyQuiz
end

#quiz ⇒ Object (readonly)

Returns the value of attribute quiz.



72
73
74
# File 'lib/jldrill/spec/SampleQuiz.rb', line 72

def quiz
  @quiz
end

#resetQuiz ⇒ Object (readonly)

Returns the value of attribute resetQuiz.



72
73
74
# File 'lib/jldrill/spec/SampleQuiz.rb', line 72

def resetQuiz
  @resetQuiz
end

Instance Method Details

#allResetVocab ⇒ Object



114
115
116
# File 'lib/jldrill/spec/SampleQuiz.rb', line 114

def allResetVocab
    AllVocab
end

#allVocab ⇒ Object



110
111
112
# File 'lib/jldrill/spec/SampleQuiz.rb', line 110

def allVocab
    AllVocab
end

#defaultSaveFile ⇒ Object



130
131
132
# File 'lib/jldrill/spec/SampleQuiz.rb', line 130

def defaultSaveFile
    FileHeader + FileInfo + FileDefaultOptions + ResetVocab + "Fair\nGood\nExcellent\nForgotten\n"
end

#file ⇒ Object



118
119
120
# File 'lib/jldrill/spec/SampleQuiz.rb', line 118

def file
    FileString
end

#header ⇒ Object



84
85
86
# File 'lib/jldrill/spec/SampleQuiz.rb', line 84

def header
    FileHeader
end

#info ⇒ Object



88
89
90
# File 'lib/jldrill/spec/SampleQuiz.rb', line 88

def info
    FileInfo
end

#onlyVocab(string) ⇒ Object



100
101
102
103
104
105
106
107
108
# File 'lib/jldrill/spec/SampleQuiz.rb', line 100

def onlyVocab(string)
    retVal = ""
    string.split("\n").each do |line|
        if line =~ /^\//
            retVal += line + "\n"
        end
    end
    retVal
end

#resetFile ⇒ Object



122
123
124
# File 'lib/jldrill/spec/SampleQuiz.rb', line 122

def resetFile
    ResetString
end

#resetVocab ⇒ Object



96
97
98
# File 'lib/jldrill/spec/SampleQuiz.rb', line 96

def resetVocab
    ResetVocab
end

#sampleVocab ⇒ Object



126
127
128
# File 'lib/jldrill/spec/SampleQuiz.rb', line 126

def sampleVocab
    Vocabulary::create(NewVocab)
end

#vocab ⇒ Object



92
93
94
# File 'lib/jldrill/spec/SampleQuiz.rb', line 92

def vocab
    FileVocab
end