qti 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +28 -0
  3. data/Rakefile +1 -0
  4. data/lib/qti.rb +62 -0
  5. data/lib/qti/models/base.rb +80 -0
  6. data/lib/qti/models/manifest.rb +20 -0
  7. data/lib/qti/v1/models/assessment.rb +17 -0
  8. data/lib/qti/v1/models/assessment_item.rb +59 -0
  9. data/lib/qti/v1/models/base.rb +13 -0
  10. data/lib/qti/v1/models/choices/logical_identifier_choice.rb +26 -0
  11. data/lib/qti/v1/models/interactions/logical_identifier_interaction.rb +32 -0
  12. data/lib/qti/v2/models/assessment_item.rb +62 -0
  13. data/lib/qti/v2/models/assessment_test.rb +32 -0
  14. data/lib/qti/v2/models/base.rb +70 -0
  15. data/lib/qti/v2/models/choices/simple_choice.rb +28 -0
  16. data/lib/qti/v2/models/interactions.rb +25 -0
  17. data/lib/qti/v2/models/interactions/choice_interaction.rb +50 -0
  18. data/spec/fixtures/items_1.2/multiple_answer.xml +105 -0
  19. data/spec/fixtures/items_1.2/multiple_choice.xml +83 -0
  20. data/spec/fixtures/items_1.2/true_false.xml +50 -0
  21. data/spec/fixtures/items_2.1/Example01-modalFeedback.xml +79 -0
  22. data/spec/fixtures/items_2.1/Example02-feedbackInline.xml +67 -0
  23. data/spec/fixtures/items_2.1/Example03-feedbackBlock-solution-random.xml +223 -0
  24. data/spec/fixtures/items_2.1/Example03-feedbackBlock-solution.xml +238 -0
  25. data/spec/fixtures/items_2.1/Example04-feedbackBlock-templateBlock.xml +582 -0
  26. data/spec/fixtures/items_2.1/Example05-feedbackBlock-adaptive.xml +397 -0
  27. data/spec/fixtures/items_2.1/adaptive.xml +286 -0
  28. data/spec/fixtures/items_2.1/adaptive_template.xml +350 -0
  29. data/spec/fixtures/items_2.1/associate.xml +33 -0
  30. data/spec/fixtures/items_2.1/audio-video.xml +46 -0
  31. data/spec/fixtures/items_2.1/choice.xml +31 -0
  32. data/spec/fixtures/items_2.1/choice_aria.xml +42 -0
  33. data/spec/fixtures/items_2.1/choice_fixed.xml +33 -0
  34. data/spec/fixtures/items_2.1/choice_multiple.xml +31 -0
  35. data/spec/fixtures/items_2.1/choice_multiple_chocolade.xml +74 -0
  36. data/spec/fixtures/items_2.1/choice_multiple_rtl.xml +33 -0
  37. data/spec/fixtures/items_2.1/choice_ruby.xml +39 -0
  38. data/spec/fixtures/items_2.1/choice_t_f.xml +30 -0
  39. data/spec/fixtures/items_2.1/choice_true_false.xml +30 -0
  40. data/spec/fixtures/items_2.1/data-attributes.xml +61 -0
  41. data/spec/fixtures/items_2.1/drawing.xml +16 -0
  42. data/spec/fixtures/items_2.1/essay.xml +14 -0
  43. data/spec/fixtures/items_2.1/extended_text.xml +24 -0
  44. data/spec/fixtures/items_2.1/extended_text_rubric.xml +36 -0
  45. data/spec/fixtures/items_2.1/feedback_adaptive.xml +142 -0
  46. data/spec/fixtures/items_2.1/figures.xml +32 -0
  47. data/spec/fixtures/items_2.1/gap_match.xml +33 -0
  48. data/spec/fixtures/items_2.1/graphic_associate.xml +36 -0
  49. data/spec/fixtures/items_2.1/graphic_gap_match.xml +54 -0
  50. data/spec/fixtures/items_2.1/graphic_gap_match_text.xml +50 -0
  51. data/spec/fixtures/items_2.1/graphic_order.xml +32 -0
  52. data/spec/fixtures/items_2.1/hint.xml +85 -0
  53. data/spec/fixtures/items_2.1/hotspot.xml +26 -0
  54. data/spec/fixtures/items_2.1/hottext.xml +33 -0
  55. data/spec/fixtures/items_2.1/images/CBG.png +0 -0
  56. data/spec/fixtures/items_2.1/images/EBG.png +0 -0
  57. data/spec/fixtures/items_2.1/images/EDI.png +0 -0
  58. data/spec/fixtures/items_2.1/images/GLA.png +0 -0
  59. data/spec/fixtures/items_2.1/images/MAN.png +0 -0
  60. data/spec/fixtures/items_2.1/images/MCH.png +0 -0
  61. data/spec/fixtures/items_2.1/images/airport.png +0 -0
  62. data/spec/fixtures/items_2.1/images/blueStar.png +0 -0
  63. data/spec/fixtures/items_2.1/images/blue_door.png +0 -0
  64. data/spec/fixtures/items_2.1/images/bus.png +0 -0
  65. data/spec/fixtures/items_2.1/images/castle.png +0 -0
  66. data/spec/fixtures/items_2.1/images/greenTriangle.png +0 -0
  67. data/spec/fixtures/items_2.1/images/green_door.png +0 -0
  68. data/spec/fixtures/items_2.1/images/house.png +0 -0
  69. data/spec/fixtures/items_2.1/images/open_car.png +0 -0
  70. data/spec/fixtures/items_2.1/images/open_goat.png +0 -0
  71. data/spec/fixtures/items_2.1/images/plane.png +0 -0
  72. data/spec/fixtures/items_2.1/images/postcard.eps +3581 -0
  73. data/spec/fixtures/items_2.1/images/postcard.png +0 -0
  74. data/spec/fixtures/items_2.1/images/rectangle.svg +1 -0
  75. data/spec/fixtures/items_2.1/images/redCircle.png +0 -0
  76. data/spec/fixtures/items_2.1/images/red_door.png +0 -0
  77. data/spec/fixtures/items_2.1/images/sign.png +0 -0
  78. data/spec/fixtures/items_2.1/images/survey.jpg +0 -0
  79. data/spec/fixtures/items_2.1/images/train.png +0 -0
  80. data/spec/fixtures/items_2.1/images/uk.png +0 -0
  81. data/spec/fixtures/items_2.1/images/ukair.png +0 -0
  82. data/spec/fixtures/items_2.1/images/ukairtags.png +0 -0
  83. data/spec/fixtures/items_2.1/imsmanifest.xml +227 -0
  84. data/spec/fixtures/items_2.1/inline_choice.xml +26 -0
  85. data/spec/fixtures/items_2.1/inline_choice_math.xml +68 -0
  86. data/spec/fixtures/items_2.1/likert.xml +21 -0
  87. data/spec/fixtures/items_2.1/match.xml +41 -0
  88. data/spec/fixtures/items_2.1/math.xml +35 -0
  89. data/spec/fixtures/items_2.1/mc_calc3.xml +164 -0
  90. data/spec/fixtures/items_2.1/mc_calc5.xml +211 -0
  91. data/spec/fixtures/items_2.1/mc_stat2.xml +219 -0
  92. data/spec/fixtures/items_2.1/media_coords.xml +33 -0
  93. data/spec/fixtures/items_2.1/multi-input.xml +271 -0
  94. data/spec/fixtures/items_2.1/nested_object.xml +26 -0
  95. data/spec/fixtures/items_2.1/order.xml +25 -0
  96. data/spec/fixtures/items_2.1/order_partial_scoring.xml +55 -0
  97. data/spec/fixtures/items_2.1/order_rtl.xml +27 -0
  98. data/spec/fixtures/items_2.1/orkney1.xml +34 -0
  99. data/spec/fixtures/items_2.1/orkney2.xml +34 -0
  100. data/spec/fixtures/items_2.1/position_object.xml +34 -0
  101. data/spec/fixtures/items_2.1/select_point.xml +23 -0
  102. data/spec/fixtures/items_2.1/shared/orkney.css +1 -0
  103. data/spec/fixtures/items_2.1/shared/orkney.html +20 -0
  104. data/spec/fixtures/items_2.1/slider.xml +35 -0
  105. data/spec/fixtures/items_2.1/svg.xml +28 -0
  106. data/spec/fixtures/items_2.1/template.xml +88 -0
  107. data/spec/fixtures/items_2.1/template_image.xml +74 -0
  108. data/spec/fixtures/items_2.1/text_entry.xml +27 -0
  109. data/spec/fixtures/items_2.1/upload.xml +18 -0
  110. data/spec/fixtures/items_2.1/upload_composite.xml +24 -0
  111. data/spec/fixtures/test_qti_1.2.zip +0 -0
  112. data/spec/fixtures/test_qti_1.2/contact info.png +0 -0
  113. data/spec/fixtures/test_qti_1.2/exam1/my_files/org0/images/image.png +0 -0
  114. data/spec/fixtures/test_qti_1.2/exam1/my_files/org1/images/image.png +0 -0
  115. data/spec/fixtures/test_qti_1.2/image.png +0 -0
  116. data/spec/fixtures/test_qti_1.2/imsmanifest.xml +37 -0
  117. data/spec/fixtures/test_qti_1.2/quiz.xml +216 -0
  118. data/spec/fixtures/test_qti_2.1.zip +0 -0
  119. data/spec/fixtures/test_qti_2.1/assessment.xml +77 -0
  120. data/spec/fixtures/test_qti_2.1/imsmanifest.xml +211 -0
  121. data/spec/fixtures/test_qti_2.1/mathassess.xsd +54 -0
  122. data/spec/fixtures/test_qti_2.1/multiple-answer/multiple-answer.xml +31 -0
  123. data/spec/fixtures/test_qti_2.1/multiple-choice/multiple-choice.xml +31 -0
  124. data/spec/fixtures/test_qti_2.1/text-entry/text-entry.xml +330 -0
  125. data/spec/fixtures/test_qti_2.1/true-false/true-false.xml +55 -0
  126. data/spec/fixtures/tests/feedbackTest/assessment.xml +252 -0
  127. data/spec/fixtures/tests/feedbackTest/id-38d47747fb30/Example02-feedbackInline.xml +51 -0
  128. data/spec/fixtures/tests/feedbackTest/id-5e216df10030/Example03-feedbackBlock-solution.xml +199 -0
  129. data/spec/fixtures/tests/feedbackTest/id-9c33d141576e/Example05-feedbackBlock-adaptive.xml +330 -0
  130. data/spec/fixtures/tests/feedbackTest/id-aaa0bbf5da1d/Example03-feedbackBlock-solution-random.xml +223 -0
  131. data/spec/fixtures/tests/feedbackTest/id-d599169403d2/Example04-feedbackBlock-templateBlock.xml +534 -0
  132. data/spec/fixtures/tests/feedbackTest/id-fa3ee5852723/Example01-modalFeedback.xml +55 -0
  133. data/spec/fixtures/tests/feedbackTest/imsmanifest.xml +239 -0
  134. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_2014410822.xml +110 -0
  135. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_871212949.xml +208 -0
  136. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicesingle_853928446.xml +159 -0
  137. data/spec/fixtures/tests/interactionmix_saxony_v3/Choicetruefalse_176040516.xml +98 -0
  138. data/spec/fixtures/tests/interactionmix_saxony_v3/Hotspot_278940407.xml +109 -0
  139. data/spec/fixtures/tests/interactionmix_saxony_v3/Hottext_801974120.xml +106 -0
  140. data/spec/fixtures/tests/interactionmix_saxony_v3/InteractionMixSachsen_1901710679.xml +54 -0
  141. data/spec/fixtures/tests/interactionmix_saxony_v3/Matchmultiple_1038910213.xml +139 -0
  142. data/spec/fixtures/tests/interactionmix_saxony_v3/Matchsingle_143114773.xml +133 -0
  143. data/spec/fixtures/tests/interactionmix_saxony_v3/Order_913967682.xml +117 -0
  144. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntry_883368511.xml +114 -0
  145. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_2040297025.xml +154 -0
  146. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_770468849.xml +124 -0
  147. data/spec/fixtures/tests/interactionmix_saxony_v3/TextEntrysubset_806481421.xml +227 -0
  148. data/spec/fixtures/tests/interactionmix_saxony_v3/imsmanifest.xml +278 -0
  149. data/spec/fixtures/tests/interactionmix_saxony_v3/media/03c5e2f774db49598deb3ac7d05b53f9.jpg +0 -0
  150. data/spec/fixtures/tests/interactionmix_saxony_v3/media/0563e67fb1bb48ad882e0a5abf2a2686.jpg +0 -0
  151. data/spec/fixtures/tests/interactionmix_saxony_v3/media/2f44366716474a5d8e2a2e32346cbc05.jpg +0 -0
  152. data/spec/fixtures/tests/interactionmix_saxony_v3/media/71a299b50b5e4b1492f8ee51ce25be7d.jpg +0 -0
  153. data/spec/fixtures/tests/interactionmix_saxony_v3/media/a439b702d5034ca38f6df26a12835db3.jpg +0 -0
  154. data/spec/fixtures/tests/interactionmix_saxony_v3/media/b660fc9f268c4ef688d8606116c70160.jpg +0 -0
  155. data/spec/fixtures/tests/interactionmix_saxony_v3/media/c2f541343b9b4bfdba9fc90c7a18403e.jpg +0 -0
  156. data/spec/fixtures/tests/interactionmix_saxony_v3/media/e18b5a2eb8104d0994a182ee0176a05c.jpg +0 -0
  157. data/spec/fixtures/tests/interactionmix_saxony_v3/media/f88c5aa2c6724a388fdbadc7133eb757.jpg +0 -0
  158. data/spec/fixtures/tests/interactionmix_saxony_v3/media/ffe337505ef74334a0cecb33310f99c1.jpg +0 -0
  159. data/spec/fixtures/tests/tests/complete.xml +33 -0
  160. data/spec/fixtures/tests/tests/report.xml +70 -0
  161. data/spec/fixtures/tests/tests/rtest01-fragment.xml +12 -0
  162. data/spec/fixtures/tests/tests/rtest01-set01.xml +17 -0
  163. data/spec/fixtures/tests/tests/rtest01-set02.xml +17 -0
  164. data/spec/fixtures/tests/tests/rtest01-set03.xml +17 -0
  165. data/spec/fixtures/tests/tests/rtest01.xml +16 -0
  166. data/spec/fixtures/tests/tests/rtest02.xml +48 -0
  167. data/spec/fixtures/tests/tests/rtest03.xml +38 -0
  168. data/spec/fixtures/tests/tests/rtest04.xml +50 -0
  169. data/spec/fixtures/tests/tests/rtest06.xml +34 -0
  170. data/spec/fixtures/tests/tests/rtest08.xml +38 -0
  171. data/spec/fixtures/tests/tests/rtest09.xml +33 -0
  172. data/spec/fixtures/tests/tests/rtest10.xml +48 -0
  173. data/spec/fixtures/tests/tests/rtest12.xml +38 -0
  174. data/spec/fixtures/tests/tests/rtest13.xml +62 -0
  175. data/spec/fixtures/tests/tests/rtest22.xml +41 -0
  176. data/spec/fixtures/tests/tests/rtest24.xml +37 -0
  177. data/spec/fixtures/tests/tests/rtest25.xml +62 -0
  178. data/spec/fixtures/tests/tests/rtest26.xml +38 -0
  179. data/spec/fixtures/tests/tests/rtest27.xml +46 -0
  180. data/spec/qti/models/base_spec.rb +71 -0
  181. data/spec/qti/models/manifest_spec.rb +19 -0
  182. data/spec/qti/v1/models/assessment_item_spec.rb +49 -0
  183. data/spec/qti/v1/models/assessment_spec.rb +18 -0
  184. data/spec/qti/v1/models/choices/logical_identifier_choice_spec.rb +23 -0
  185. data/spec/qti/v1/models/interactions/logical_identifier_interaction_spec.rb +20 -0
  186. data/spec/qti/v2/models/assessment_item_spec.rb +67 -0
  187. data/spec/qti/v2/models/assessment_test_spec.rb +60 -0
  188. data/spec/qti/v2/models/choices/simple_choice_spec.rb +22 -0
  189. data/spec/qti/v2/models/interactions/choice_interaction_spec.rb +27 -0
  190. data/spec/qti_spec.rb +38 -0
  191. data/spec/spec_helper.rb +10 -0
  192. metadata +506 -0
@@ -0,0 +1,60 @@
1
+ require 'spec_helper'
2
+
3
+ fixtures_path = File.join('spec', 'fixtures')
4
+
5
+ describe Qti::V2::Models::AssessmentTest do
6
+ context 'test_qti_2.1' do
7
+ let(:path) { File.join(fixtures_path, 'test_qti_2.1', 'assessment.xml') }
8
+ let(:loaded_class) { described_class.from_path!(path) }
9
+
10
+ it 'loads an AssessmentTest XML file' do
11
+ expect do
12
+ described_class.from_path!(path)
13
+ end.to_not raise_error
14
+ end
15
+
16
+ it 'has the title' do
17
+ expect(loaded_class.title).to eq 'Simple Feedback Test'
18
+ end
19
+
20
+ it 'gets dependency file refs' do
21
+ refs = loaded_class.assessment_item_reference_hrefs
22
+ expect(refs.all? { |ref| File.extname(ref) == '.xml' })
23
+ end
24
+
25
+ it 'loads up some testParts' do
26
+ expect(loaded_class.test_parts).not_to be_nil
27
+ end
28
+
29
+ it 'loads up some assessment Sections' do
30
+ expect(loaded_class.assessment_sections).not_to be_nil
31
+ end
32
+ end
33
+
34
+ context 'all test files' do
35
+ test_files = Dir.glob(File.join(fixtures_path, 'tests', 'tests', 'rtest[0-9][0-9].xml'))
36
+ test_files << File.join(fixtures_path, 'tests', 'tests', 'complete.xml')
37
+ test_files << File.join(fixtures_path, 'tests', 'feedbackTest', 'assessment.xml')
38
+ test_files << File.join(fixtures_path, 'tests', 'interactionmix_saxony_v3', 'InteractionMixSachsen_1901710679.xml')
39
+ test_files.each do |file|
40
+ context File.basename(file) do
41
+ let(:loaded_class) { described_class.from_path!(file) }
42
+
43
+ it 'loads an AssessmentTest XML file' do
44
+ expect do
45
+ described_class.from_path!(file)
46
+ end.to_not raise_error
47
+ end
48
+
49
+ it 'has a title' do
50
+ expect(loaded_class.title).to be_a String
51
+ end
52
+
53
+ it 'gets dependency file refs' do
54
+ refs = loaded_class.assessment_item_reference_hrefs
55
+ expect(refs.all? { |ref| File.extname(ref) == '.xml' })
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Qti::V2::Models::Choices::SimpleChoice do
4
+ context 'choice.xml' do
5
+ let(:io) { File.read(File.join('spec', 'fixtures', 'items_2.1', 'Example02-feedbackInline.xml')) }
6
+ let(:nodes) { Nokogiri::XML(io).xpath('//xmlns:simpleChoice') }
7
+
8
+ let(:choices) { nodes.map { |node| described_class.new(node) } }
9
+
10
+ it 'returns the right identifier' do
11
+ expect(choices.map(&:identifier)).to eq %w(true false)
12
+ end
13
+
14
+ it 'returns the item body text' do
15
+ expect(choices.map(&:item_body).map(&:empty?).any?).to eq false
16
+ end
17
+
18
+ it 'removes inline feedback elements from item_body' do
19
+ expect(choices.map(&:item_body).map { |text| text.include? 'correct' }.any?).to eq false
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ describe Qti::V2::Models::Interactions::ChoiceInteraction do
4
+ context 'choice.xml' do
5
+ let(:io) { File.read(File.join('spec', 'fixtures', 'items_2.1', 'choice.xml')) }
6
+ let(:node) { Nokogiri::XML(io).at_xpath('//xmlns:choiceInteraction') }
7
+
8
+ let(:loaded_class) { described_class.new(node) }
9
+
10
+ it 'returns shuffle setting' do
11
+ expect(loaded_class.shuffled?).to eq false
12
+ end
13
+
14
+ it 'returns the max choices count' do
15
+ expect(loaded_class.max_choices_count).to eq 1
16
+ end
17
+
18
+ it 'returns the min choices without error' do
19
+ expect(loaded_class.min_choices_count).to eq nil
20
+ end
21
+
22
+ it 'returns the answers' do
23
+ expect(loaded_class.answers.count).to eq 3
24
+ expect(loaded_class.answers.first).to be_an_instance_of(Qti::V2::Models::Choices::SimpleChoice)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+
3
+ describe Qti::Importer do
4
+
5
+ let(:fixtures_path) { File.join('spec', 'fixtures') }
6
+ let(:importer) { Qti::Importer.new(file_path) }
7
+ let(:manifest_path) { File.join(file_path, 'imsmanifest.xml') }
8
+
9
+ shared_examples_for 'initialize' do
10
+ it 'loads an xml file' do
11
+ expect { importer }.to_not raise_error
12
+ end
13
+ end
14
+
15
+ shared_examples_for 'unsupported QTI version' do
16
+
17
+ it 'raises an error' do
18
+ allow_any_instance_of(Qti::Models::Manifest).to receive(:assessment_test_href).and_return(nil)
19
+ expect { importer.import_manifest }.to raise_error('Unsupported QTI version')
20
+ end
21
+ end
22
+
23
+ context 'QTI 1.2' do
24
+ let(:file_path) { File.join(fixtures_path, 'test_qti_1.2') }
25
+ let(:assessment_model) { Qti::V1::Models::Assessment }
26
+
27
+ include_examples 'initialize'
28
+ include_examples 'unsupported QTI version'
29
+ end
30
+
31
+ context 'QTI 2.1' do
32
+ let(:file_path) { File.join(fixtures_path, 'test_qti_2.1') }
33
+ let(:assessment_model) { Qti::V1::Models::AssessmentTest }
34
+
35
+ include_examples 'initialize'
36
+ include_examples 'unsupported QTI version'
37
+ end
38
+ end
@@ -0,0 +1,10 @@
1
+ require 'bundler/setup'
2
+ Bundler.setup
3
+
4
+ require 'qti'
5
+
6
+ RSpec.configure do |config|
7
+ config.expect_with :rspec do |expectations|
8
+ expectations.syntax = :expect
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,506 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qti
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Hannah Bottalla
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-11-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.11'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.11'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-mocks
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: nokogiri
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 1.6.8
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 1.6.8
83
+ - !ruby/object:Gem::Dependency
84
+ name: sanitize
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 4.2.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 4.2.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description:
112
+ email:
113
+ - hannah@instructure.com
114
+ - eng@instructure.com
115
+ executables: []
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - README.md
120
+ - Rakefile
121
+ - lib/qti.rb
122
+ - lib/qti/models/base.rb
123
+ - lib/qti/models/manifest.rb
124
+ - lib/qti/v1/models/assessment.rb
125
+ - lib/qti/v1/models/assessment_item.rb
126
+ - lib/qti/v1/models/base.rb
127
+ - lib/qti/v1/models/choices/logical_identifier_choice.rb
128
+ - lib/qti/v1/models/interactions/logical_identifier_interaction.rb
129
+ - lib/qti/v2/models/assessment_item.rb
130
+ - lib/qti/v2/models/assessment_test.rb
131
+ - lib/qti/v2/models/base.rb
132
+ - lib/qti/v2/models/choices/simple_choice.rb
133
+ - lib/qti/v2/models/interactions.rb
134
+ - lib/qti/v2/models/interactions/choice_interaction.rb
135
+ - spec/fixtures/items_1.2/multiple_answer.xml
136
+ - spec/fixtures/items_1.2/multiple_choice.xml
137
+ - spec/fixtures/items_1.2/true_false.xml
138
+ - spec/fixtures/items_2.1/Example01-modalFeedback.xml
139
+ - spec/fixtures/items_2.1/Example02-feedbackInline.xml
140
+ - spec/fixtures/items_2.1/Example03-feedbackBlock-solution-random.xml
141
+ - spec/fixtures/items_2.1/Example03-feedbackBlock-solution.xml
142
+ - spec/fixtures/items_2.1/Example04-feedbackBlock-templateBlock.xml
143
+ - spec/fixtures/items_2.1/Example05-feedbackBlock-adaptive.xml
144
+ - spec/fixtures/items_2.1/adaptive.xml
145
+ - spec/fixtures/items_2.1/adaptive_template.xml
146
+ - spec/fixtures/items_2.1/associate.xml
147
+ - spec/fixtures/items_2.1/audio-video.xml
148
+ - spec/fixtures/items_2.1/choice.xml
149
+ - spec/fixtures/items_2.1/choice_aria.xml
150
+ - spec/fixtures/items_2.1/choice_fixed.xml
151
+ - spec/fixtures/items_2.1/choice_multiple.xml
152
+ - spec/fixtures/items_2.1/choice_multiple_chocolade.xml
153
+ - spec/fixtures/items_2.1/choice_multiple_rtl.xml
154
+ - spec/fixtures/items_2.1/choice_ruby.xml
155
+ - spec/fixtures/items_2.1/choice_t_f.xml
156
+ - spec/fixtures/items_2.1/choice_true_false.xml
157
+ - spec/fixtures/items_2.1/data-attributes.xml
158
+ - spec/fixtures/items_2.1/drawing.xml
159
+ - spec/fixtures/items_2.1/essay.xml
160
+ - spec/fixtures/items_2.1/extended_text.xml
161
+ - spec/fixtures/items_2.1/extended_text_rubric.xml
162
+ - spec/fixtures/items_2.1/feedback_adaptive.xml
163
+ - spec/fixtures/items_2.1/figures.xml
164
+ - spec/fixtures/items_2.1/gap_match.xml
165
+ - spec/fixtures/items_2.1/graphic_associate.xml
166
+ - spec/fixtures/items_2.1/graphic_gap_match.xml
167
+ - spec/fixtures/items_2.1/graphic_gap_match_text.xml
168
+ - spec/fixtures/items_2.1/graphic_order.xml
169
+ - spec/fixtures/items_2.1/hint.xml
170
+ - spec/fixtures/items_2.1/hotspot.xml
171
+ - spec/fixtures/items_2.1/hottext.xml
172
+ - spec/fixtures/items_2.1/images/CBG.png
173
+ - spec/fixtures/items_2.1/images/EBG.png
174
+ - spec/fixtures/items_2.1/images/EDI.png
175
+ - spec/fixtures/items_2.1/images/GLA.png
176
+ - spec/fixtures/items_2.1/images/MAN.png
177
+ - spec/fixtures/items_2.1/images/MCH.png
178
+ - spec/fixtures/items_2.1/images/airport.png
179
+ - spec/fixtures/items_2.1/images/blueStar.png
180
+ - spec/fixtures/items_2.1/images/blue_door.png
181
+ - spec/fixtures/items_2.1/images/bus.png
182
+ - spec/fixtures/items_2.1/images/castle.png
183
+ - spec/fixtures/items_2.1/images/greenTriangle.png
184
+ - spec/fixtures/items_2.1/images/green_door.png
185
+ - spec/fixtures/items_2.1/images/house.png
186
+ - spec/fixtures/items_2.1/images/open_car.png
187
+ - spec/fixtures/items_2.1/images/open_goat.png
188
+ - spec/fixtures/items_2.1/images/plane.png
189
+ - spec/fixtures/items_2.1/images/postcard.eps
190
+ - spec/fixtures/items_2.1/images/postcard.png
191
+ - spec/fixtures/items_2.1/images/rectangle.svg
192
+ - spec/fixtures/items_2.1/images/redCircle.png
193
+ - spec/fixtures/items_2.1/images/red_door.png
194
+ - spec/fixtures/items_2.1/images/sign.png
195
+ - spec/fixtures/items_2.1/images/survey.jpg
196
+ - spec/fixtures/items_2.1/images/train.png
197
+ - spec/fixtures/items_2.1/images/uk.png
198
+ - spec/fixtures/items_2.1/images/ukair.png
199
+ - spec/fixtures/items_2.1/images/ukairtags.png
200
+ - spec/fixtures/items_2.1/imsmanifest.xml
201
+ - spec/fixtures/items_2.1/inline_choice.xml
202
+ - spec/fixtures/items_2.1/inline_choice_math.xml
203
+ - spec/fixtures/items_2.1/likert.xml
204
+ - spec/fixtures/items_2.1/match.xml
205
+ - spec/fixtures/items_2.1/math.xml
206
+ - spec/fixtures/items_2.1/mc_calc3.xml
207
+ - spec/fixtures/items_2.1/mc_calc5.xml
208
+ - spec/fixtures/items_2.1/mc_stat2.xml
209
+ - spec/fixtures/items_2.1/media_coords.xml
210
+ - spec/fixtures/items_2.1/multi-input.xml
211
+ - spec/fixtures/items_2.1/nested_object.xml
212
+ - spec/fixtures/items_2.1/order.xml
213
+ - spec/fixtures/items_2.1/order_partial_scoring.xml
214
+ - spec/fixtures/items_2.1/order_rtl.xml
215
+ - spec/fixtures/items_2.1/orkney1.xml
216
+ - spec/fixtures/items_2.1/orkney2.xml
217
+ - spec/fixtures/items_2.1/position_object.xml
218
+ - spec/fixtures/items_2.1/select_point.xml
219
+ - spec/fixtures/items_2.1/shared/orkney.css
220
+ - spec/fixtures/items_2.1/shared/orkney.html
221
+ - spec/fixtures/items_2.1/slider.xml
222
+ - spec/fixtures/items_2.1/svg.xml
223
+ - spec/fixtures/items_2.1/template.xml
224
+ - spec/fixtures/items_2.1/template_image.xml
225
+ - spec/fixtures/items_2.1/text_entry.xml
226
+ - spec/fixtures/items_2.1/upload.xml
227
+ - spec/fixtures/items_2.1/upload_composite.xml
228
+ - spec/fixtures/test_qti_1.2.zip
229
+ - spec/fixtures/test_qti_1.2/contact info.png
230
+ - spec/fixtures/test_qti_1.2/exam1/my_files/org0/images/image.png
231
+ - spec/fixtures/test_qti_1.2/exam1/my_files/org1/images/image.png
232
+ - spec/fixtures/test_qti_1.2/image.png
233
+ - spec/fixtures/test_qti_1.2/imsmanifest.xml
234
+ - spec/fixtures/test_qti_1.2/quiz.xml
235
+ - spec/fixtures/test_qti_2.1.zip
236
+ - spec/fixtures/test_qti_2.1/assessment.xml
237
+ - spec/fixtures/test_qti_2.1/imsmanifest.xml
238
+ - spec/fixtures/test_qti_2.1/mathassess.xsd
239
+ - spec/fixtures/test_qti_2.1/multiple-answer/multiple-answer.xml
240
+ - spec/fixtures/test_qti_2.1/multiple-choice/multiple-choice.xml
241
+ - spec/fixtures/test_qti_2.1/text-entry/text-entry.xml
242
+ - spec/fixtures/test_qti_2.1/true-false/true-false.xml
243
+ - spec/fixtures/tests/feedbackTest/assessment.xml
244
+ - spec/fixtures/tests/feedbackTest/id-38d47747fb30/Example02-feedbackInline.xml
245
+ - spec/fixtures/tests/feedbackTest/id-5e216df10030/Example03-feedbackBlock-solution.xml
246
+ - spec/fixtures/tests/feedbackTest/id-9c33d141576e/Example05-feedbackBlock-adaptive.xml
247
+ - spec/fixtures/tests/feedbackTest/id-aaa0bbf5da1d/Example03-feedbackBlock-solution-random.xml
248
+ - spec/fixtures/tests/feedbackTest/id-d599169403d2/Example04-feedbackBlock-templateBlock.xml
249
+ - spec/fixtures/tests/feedbackTest/id-fa3ee5852723/Example01-modalFeedback.xml
250
+ - spec/fixtures/tests/feedbackTest/imsmanifest.xml
251
+ - spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_2014410822.xml
252
+ - spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_871212949.xml
253
+ - spec/fixtures/tests/interactionmix_saxony_v3/Choicesingle_853928446.xml
254
+ - spec/fixtures/tests/interactionmix_saxony_v3/Choicetruefalse_176040516.xml
255
+ - spec/fixtures/tests/interactionmix_saxony_v3/Hotspot_278940407.xml
256
+ - spec/fixtures/tests/interactionmix_saxony_v3/Hottext_801974120.xml
257
+ - spec/fixtures/tests/interactionmix_saxony_v3/InteractionMixSachsen_1901710679.xml
258
+ - spec/fixtures/tests/interactionmix_saxony_v3/Matchmultiple_1038910213.xml
259
+ - spec/fixtures/tests/interactionmix_saxony_v3/Matchsingle_143114773.xml
260
+ - spec/fixtures/tests/interactionmix_saxony_v3/Order_913967682.xml
261
+ - spec/fixtures/tests/interactionmix_saxony_v3/TextEntry_883368511.xml
262
+ - spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_2040297025.xml
263
+ - spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_770468849.xml
264
+ - spec/fixtures/tests/interactionmix_saxony_v3/TextEntrysubset_806481421.xml
265
+ - spec/fixtures/tests/interactionmix_saxony_v3/imsmanifest.xml
266
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/03c5e2f774db49598deb3ac7d05b53f9.jpg
267
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/0563e67fb1bb48ad882e0a5abf2a2686.jpg
268
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/2f44366716474a5d8e2a2e32346cbc05.jpg
269
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/71a299b50b5e4b1492f8ee51ce25be7d.jpg
270
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/a439b702d5034ca38f6df26a12835db3.jpg
271
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/b660fc9f268c4ef688d8606116c70160.jpg
272
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/c2f541343b9b4bfdba9fc90c7a18403e.jpg
273
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/e18b5a2eb8104d0994a182ee0176a05c.jpg
274
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/f88c5aa2c6724a388fdbadc7133eb757.jpg
275
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/ffe337505ef74334a0cecb33310f99c1.jpg
276
+ - spec/fixtures/tests/tests/complete.xml
277
+ - spec/fixtures/tests/tests/report.xml
278
+ - spec/fixtures/tests/tests/rtest01-fragment.xml
279
+ - spec/fixtures/tests/tests/rtest01-set01.xml
280
+ - spec/fixtures/tests/tests/rtest01-set02.xml
281
+ - spec/fixtures/tests/tests/rtest01-set03.xml
282
+ - spec/fixtures/tests/tests/rtest01.xml
283
+ - spec/fixtures/tests/tests/rtest02.xml
284
+ - spec/fixtures/tests/tests/rtest03.xml
285
+ - spec/fixtures/tests/tests/rtest04.xml
286
+ - spec/fixtures/tests/tests/rtest06.xml
287
+ - spec/fixtures/tests/tests/rtest08.xml
288
+ - spec/fixtures/tests/tests/rtest09.xml
289
+ - spec/fixtures/tests/tests/rtest10.xml
290
+ - spec/fixtures/tests/tests/rtest12.xml
291
+ - spec/fixtures/tests/tests/rtest13.xml
292
+ - spec/fixtures/tests/tests/rtest22.xml
293
+ - spec/fixtures/tests/tests/rtest24.xml
294
+ - spec/fixtures/tests/tests/rtest25.xml
295
+ - spec/fixtures/tests/tests/rtest26.xml
296
+ - spec/fixtures/tests/tests/rtest27.xml
297
+ - spec/qti/models/base_spec.rb
298
+ - spec/qti/models/manifest_spec.rb
299
+ - spec/qti/v1/models/assessment_item_spec.rb
300
+ - spec/qti/v1/models/assessment_spec.rb
301
+ - spec/qti/v1/models/choices/logical_identifier_choice_spec.rb
302
+ - spec/qti/v1/models/interactions/logical_identifier_interaction_spec.rb
303
+ - spec/qti/v2/models/assessment_item_spec.rb
304
+ - spec/qti/v2/models/assessment_test_spec.rb
305
+ - spec/qti/v2/models/choices/simple_choice_spec.rb
306
+ - spec/qti/v2/models/interactions/choice_interaction_spec.rb
307
+ - spec/qti_spec.rb
308
+ - spec/spec_helper.rb
309
+ homepage:
310
+ licenses: []
311
+ metadata: {}
312
+ post_install_message:
313
+ rdoc_options: []
314
+ require_paths:
315
+ - lib
316
+ required_ruby_version: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ required_rubygems_version: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - ">="
324
+ - !ruby/object:Gem::Version
325
+ version: '0'
326
+ requirements: []
327
+ rubyforge_project:
328
+ rubygems_version: 2.5.1
329
+ signing_key:
330
+ specification_version: 4
331
+ summary: QTI 1.2 and 2.1 importer
332
+ test_files:
333
+ - spec/fixtures/items_1.2/multiple_answer.xml
334
+ - spec/fixtures/items_1.2/multiple_choice.xml
335
+ - spec/fixtures/items_1.2/true_false.xml
336
+ - spec/fixtures/items_2.1/Example01-modalFeedback.xml
337
+ - spec/fixtures/items_2.1/Example02-feedbackInline.xml
338
+ - spec/fixtures/items_2.1/Example03-feedbackBlock-solution-random.xml
339
+ - spec/fixtures/items_2.1/Example03-feedbackBlock-solution.xml
340
+ - spec/fixtures/items_2.1/Example04-feedbackBlock-templateBlock.xml
341
+ - spec/fixtures/items_2.1/Example05-feedbackBlock-adaptive.xml
342
+ - spec/fixtures/items_2.1/adaptive.xml
343
+ - spec/fixtures/items_2.1/adaptive_template.xml
344
+ - spec/fixtures/items_2.1/associate.xml
345
+ - spec/fixtures/items_2.1/audio-video.xml
346
+ - spec/fixtures/items_2.1/choice.xml
347
+ - spec/fixtures/items_2.1/choice_aria.xml
348
+ - spec/fixtures/items_2.1/choice_fixed.xml
349
+ - spec/fixtures/items_2.1/choice_multiple.xml
350
+ - spec/fixtures/items_2.1/choice_multiple_chocolade.xml
351
+ - spec/fixtures/items_2.1/choice_multiple_rtl.xml
352
+ - spec/fixtures/items_2.1/choice_ruby.xml
353
+ - spec/fixtures/items_2.1/choice_t_f.xml
354
+ - spec/fixtures/items_2.1/choice_true_false.xml
355
+ - spec/fixtures/items_2.1/data-attributes.xml
356
+ - spec/fixtures/items_2.1/drawing.xml
357
+ - spec/fixtures/items_2.1/essay.xml
358
+ - spec/fixtures/items_2.1/extended_text.xml
359
+ - spec/fixtures/items_2.1/extended_text_rubric.xml
360
+ - spec/fixtures/items_2.1/feedback_adaptive.xml
361
+ - spec/fixtures/items_2.1/figures.xml
362
+ - spec/fixtures/items_2.1/gap_match.xml
363
+ - spec/fixtures/items_2.1/graphic_associate.xml
364
+ - spec/fixtures/items_2.1/graphic_gap_match.xml
365
+ - spec/fixtures/items_2.1/graphic_gap_match_text.xml
366
+ - spec/fixtures/items_2.1/graphic_order.xml
367
+ - spec/fixtures/items_2.1/hint.xml
368
+ - spec/fixtures/items_2.1/hotspot.xml
369
+ - spec/fixtures/items_2.1/hottext.xml
370
+ - spec/fixtures/items_2.1/images/CBG.png
371
+ - spec/fixtures/items_2.1/images/EBG.png
372
+ - spec/fixtures/items_2.1/images/EDI.png
373
+ - spec/fixtures/items_2.1/images/GLA.png
374
+ - spec/fixtures/items_2.1/images/MAN.png
375
+ - spec/fixtures/items_2.1/images/MCH.png
376
+ - spec/fixtures/items_2.1/images/airport.png
377
+ - spec/fixtures/items_2.1/images/blueStar.png
378
+ - spec/fixtures/items_2.1/images/blue_door.png
379
+ - spec/fixtures/items_2.1/images/bus.png
380
+ - spec/fixtures/items_2.1/images/castle.png
381
+ - spec/fixtures/items_2.1/images/greenTriangle.png
382
+ - spec/fixtures/items_2.1/images/green_door.png
383
+ - spec/fixtures/items_2.1/images/house.png
384
+ - spec/fixtures/items_2.1/images/open_car.png
385
+ - spec/fixtures/items_2.1/images/open_goat.png
386
+ - spec/fixtures/items_2.1/images/plane.png
387
+ - spec/fixtures/items_2.1/images/postcard.eps
388
+ - spec/fixtures/items_2.1/images/postcard.png
389
+ - spec/fixtures/items_2.1/images/rectangle.svg
390
+ - spec/fixtures/items_2.1/images/redCircle.png
391
+ - spec/fixtures/items_2.1/images/red_door.png
392
+ - spec/fixtures/items_2.1/images/sign.png
393
+ - spec/fixtures/items_2.1/images/survey.jpg
394
+ - spec/fixtures/items_2.1/images/train.png
395
+ - spec/fixtures/items_2.1/images/uk.png
396
+ - spec/fixtures/items_2.1/images/ukair.png
397
+ - spec/fixtures/items_2.1/images/ukairtags.png
398
+ - spec/fixtures/items_2.1/imsmanifest.xml
399
+ - spec/fixtures/items_2.1/inline_choice.xml
400
+ - spec/fixtures/items_2.1/inline_choice_math.xml
401
+ - spec/fixtures/items_2.1/likert.xml
402
+ - spec/fixtures/items_2.1/match.xml
403
+ - spec/fixtures/items_2.1/math.xml
404
+ - spec/fixtures/items_2.1/mc_calc3.xml
405
+ - spec/fixtures/items_2.1/mc_calc5.xml
406
+ - spec/fixtures/items_2.1/mc_stat2.xml
407
+ - spec/fixtures/items_2.1/media_coords.xml
408
+ - spec/fixtures/items_2.1/multi-input.xml
409
+ - spec/fixtures/items_2.1/nested_object.xml
410
+ - spec/fixtures/items_2.1/order.xml
411
+ - spec/fixtures/items_2.1/order_partial_scoring.xml
412
+ - spec/fixtures/items_2.1/order_rtl.xml
413
+ - spec/fixtures/items_2.1/orkney1.xml
414
+ - spec/fixtures/items_2.1/orkney2.xml
415
+ - spec/fixtures/items_2.1/position_object.xml
416
+ - spec/fixtures/items_2.1/select_point.xml
417
+ - spec/fixtures/items_2.1/shared/orkney.css
418
+ - spec/fixtures/items_2.1/shared/orkney.html
419
+ - spec/fixtures/items_2.1/slider.xml
420
+ - spec/fixtures/items_2.1/svg.xml
421
+ - spec/fixtures/items_2.1/template.xml
422
+ - spec/fixtures/items_2.1/template_image.xml
423
+ - spec/fixtures/items_2.1/text_entry.xml
424
+ - spec/fixtures/items_2.1/upload.xml
425
+ - spec/fixtures/items_2.1/upload_composite.xml
426
+ - spec/fixtures/test_qti_1.2.zip
427
+ - spec/fixtures/test_qti_1.2/contact info.png
428
+ - spec/fixtures/test_qti_1.2/exam1/my_files/org0/images/image.png
429
+ - spec/fixtures/test_qti_1.2/exam1/my_files/org1/images/image.png
430
+ - spec/fixtures/test_qti_1.2/image.png
431
+ - spec/fixtures/test_qti_1.2/imsmanifest.xml
432
+ - spec/fixtures/test_qti_1.2/quiz.xml
433
+ - spec/fixtures/test_qti_2.1.zip
434
+ - spec/fixtures/test_qti_2.1/assessment.xml
435
+ - spec/fixtures/test_qti_2.1/imsmanifest.xml
436
+ - spec/fixtures/test_qti_2.1/mathassess.xsd
437
+ - spec/fixtures/test_qti_2.1/multiple-answer/multiple-answer.xml
438
+ - spec/fixtures/test_qti_2.1/multiple-choice/multiple-choice.xml
439
+ - spec/fixtures/test_qti_2.1/text-entry/text-entry.xml
440
+ - spec/fixtures/test_qti_2.1/true-false/true-false.xml
441
+ - spec/fixtures/tests/feedbackTest/assessment.xml
442
+ - spec/fixtures/tests/feedbackTest/id-38d47747fb30/Example02-feedbackInline.xml
443
+ - spec/fixtures/tests/feedbackTest/id-5e216df10030/Example03-feedbackBlock-solution.xml
444
+ - spec/fixtures/tests/feedbackTest/id-9c33d141576e/Example05-feedbackBlock-adaptive.xml
445
+ - spec/fixtures/tests/feedbackTest/id-aaa0bbf5da1d/Example03-feedbackBlock-solution-random.xml
446
+ - spec/fixtures/tests/feedbackTest/id-d599169403d2/Example04-feedbackBlock-templateBlock.xml
447
+ - spec/fixtures/tests/feedbackTest/id-fa3ee5852723/Example01-modalFeedback.xml
448
+ - spec/fixtures/tests/feedbackTest/imsmanifest.xml
449
+ - spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_2014410822.xml
450
+ - spec/fixtures/tests/interactionmix_saxony_v3/Choicemultiple_871212949.xml
451
+ - spec/fixtures/tests/interactionmix_saxony_v3/Choicesingle_853928446.xml
452
+ - spec/fixtures/tests/interactionmix_saxony_v3/Choicetruefalse_176040516.xml
453
+ - spec/fixtures/tests/interactionmix_saxony_v3/Hotspot_278940407.xml
454
+ - spec/fixtures/tests/interactionmix_saxony_v3/Hottext_801974120.xml
455
+ - spec/fixtures/tests/interactionmix_saxony_v3/InteractionMixSachsen_1901710679.xml
456
+ - spec/fixtures/tests/interactionmix_saxony_v3/Matchmultiple_1038910213.xml
457
+ - spec/fixtures/tests/interactionmix_saxony_v3/Matchsingle_143114773.xml
458
+ - spec/fixtures/tests/interactionmix_saxony_v3/Order_913967682.xml
459
+ - spec/fixtures/tests/interactionmix_saxony_v3/TextEntry_883368511.xml
460
+ - spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_2040297025.xml
461
+ - spec/fixtures/tests/interactionmix_saxony_v3/TextEntrynumeric_770468849.xml
462
+ - spec/fixtures/tests/interactionmix_saxony_v3/TextEntrysubset_806481421.xml
463
+ - spec/fixtures/tests/interactionmix_saxony_v3/imsmanifest.xml
464
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/03c5e2f774db49598deb3ac7d05b53f9.jpg
465
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/0563e67fb1bb48ad882e0a5abf2a2686.jpg
466
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/2f44366716474a5d8e2a2e32346cbc05.jpg
467
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/71a299b50b5e4b1492f8ee51ce25be7d.jpg
468
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/a439b702d5034ca38f6df26a12835db3.jpg
469
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/b660fc9f268c4ef688d8606116c70160.jpg
470
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/c2f541343b9b4bfdba9fc90c7a18403e.jpg
471
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/e18b5a2eb8104d0994a182ee0176a05c.jpg
472
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/f88c5aa2c6724a388fdbadc7133eb757.jpg
473
+ - spec/fixtures/tests/interactionmix_saxony_v3/media/ffe337505ef74334a0cecb33310f99c1.jpg
474
+ - spec/fixtures/tests/tests/complete.xml
475
+ - spec/fixtures/tests/tests/report.xml
476
+ - spec/fixtures/tests/tests/rtest01-fragment.xml
477
+ - spec/fixtures/tests/tests/rtest01-set01.xml
478
+ - spec/fixtures/tests/tests/rtest01-set02.xml
479
+ - spec/fixtures/tests/tests/rtest01-set03.xml
480
+ - spec/fixtures/tests/tests/rtest01.xml
481
+ - spec/fixtures/tests/tests/rtest02.xml
482
+ - spec/fixtures/tests/tests/rtest03.xml
483
+ - spec/fixtures/tests/tests/rtest04.xml
484
+ - spec/fixtures/tests/tests/rtest06.xml
485
+ - spec/fixtures/tests/tests/rtest08.xml
486
+ - spec/fixtures/tests/tests/rtest09.xml
487
+ - spec/fixtures/tests/tests/rtest10.xml
488
+ - spec/fixtures/tests/tests/rtest12.xml
489
+ - spec/fixtures/tests/tests/rtest13.xml
490
+ - spec/fixtures/tests/tests/rtest22.xml
491
+ - spec/fixtures/tests/tests/rtest24.xml
492
+ - spec/fixtures/tests/tests/rtest25.xml
493
+ - spec/fixtures/tests/tests/rtest26.xml
494
+ - spec/fixtures/tests/tests/rtest27.xml
495
+ - spec/qti/models/base_spec.rb
496
+ - spec/qti/models/manifest_spec.rb
497
+ - spec/qti/v1/models/assessment_item_spec.rb
498
+ - spec/qti/v1/models/assessment_spec.rb
499
+ - spec/qti/v1/models/choices/logical_identifier_choice_spec.rb
500
+ - spec/qti/v1/models/interactions/logical_identifier_interaction_spec.rb
501
+ - spec/qti/v2/models/assessment_item_spec.rb
502
+ - spec/qti/v2/models/assessment_test_spec.rb
503
+ - spec/qti/v2/models/choices/simple_choice_spec.rb
504
+ - spec/qti/v2/models/interactions/choice_interaction_spec.rb
505
+ - spec/qti_spec.rb
506
+ - spec/spec_helper.rb