qti 0.0.1

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 (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,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-01-SET-01" title="Set Item" adaptive="false" timeDependent="false">
6
+ <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
7
+ <correctResponse>
8
+ <value>A1</value>
9
+ </correctResponse>
10
+ </responseDeclaration>
11
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
12
+ <itemBody>
13
+ <p>Read the passage and then select the <em>first adjective</em>.</p>
14
+ <xi:include href="rtest01-fragment.xml" parse="xml"/>
15
+ </itemBody>
16
+ <responseProcessing template=""/>
17
+ </assessmentItem>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2
5
+ http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
6
+ identifier="RTEST-01" title="Sets of Items With
7
+ Leading Material">
8
+ <testPart identifier="P1" navigationMode="linear" submissionMode="individual">
9
+ <assessmentSection identifier="set" title="Section A" visible="true">
10
+ <selection select="2"/>
11
+ <assessmentItemRef identifier="set01" href="rtest01-set01.xml"/>
12
+ <assessmentItemRef identifier="set02" href="rtest01-set02.xml"/>
13
+ <assessmentItemRef identifier="set03" href="rtest01-set03.xml"/>
14
+ </assessmentSection>
15
+ </testPart>
16
+ </assessmentTest>
@@ -0,0 +1,48 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-02" title="Arbitrary Collections of Item Outcomes">
6
+ <outcomeDeclaration baseType="float" cardinality="single" identifier="SCORE"/>
7
+ <testPart navigationMode="nonlinear" submissionMode="simultaneous" identifier="RTEST-02-A">
8
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
9
+ <rubricBlock view="candidate">
10
+ <p>Instructions for Section A</p>
11
+ </rubricBlock>
12
+ <assessmentItemRef identifier="item034" href="item034.xml">
13
+ <weight identifier="WEIGHT" value="2"/>
14
+ </assessmentItemRef>
15
+ <assessmentItemRef identifier="item160" href="item160.xml">
16
+ <weight identifier="WEIGHT" value="0"/>
17
+ </assessmentItemRef>
18
+ <assessmentItemRef identifier="item063" href="item063.xml"/>
19
+ </assessmentSection>
20
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
21
+ <rubricBlock view="candidate">
22
+ <p>Instructions for Section B</p>
23
+ </rubricBlock>
24
+ <assessmentItemRef identifier="item434" href="item434.xml"/>
25
+ <assessmentItemRef identifier="item065" href="item065.xml"/>
26
+ <assessmentItemRef identifier="item365" href="item365.xml"/>
27
+ <assessmentSection identifier="sectionB1" title="Section B1" visible="false">
28
+ <assessmentItemRef identifier="item347" href="item347.xml">
29
+ <weight identifier="WEIGHT" value="0.5"/>
30
+ </assessmentItemRef>
31
+ <assessmentItemRef identifier="item653" href="item653.xml">
32
+ <weight identifier="WEIGHT" value="0.5"/>
33
+ </assessmentItemRef>
34
+ <assessmentItemRef identifier="item656" href="item656.xml">
35
+ <weight identifier="WEIGHT" value="0.5"/>
36
+ </assessmentItemRef>
37
+ </assessmentSection>
38
+ </assessmentSection>
39
+ </testPart>
40
+ <outcomeProcessing>
41
+ <setOutcomeValue identifier="SCORE">
42
+ <sum>
43
+ <variable identifier="item034.SCORE" weightIdentifier="WEIGHT"/>
44
+ <variable identifier="item160.SCORE" weightIdentifier="WEIGHT"/>
45
+ </sum>
46
+ </setOutcomeValue>
47
+ </outcomeProcessing>
48
+ </assessmentTest>
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-03" title="Categories of Item">
6
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
7
+ <outcomeDeclaration identifier="MATH_SCORE" cardinality="single" baseType="integer"/>
8
+ <testPart navigationMode="nonlinear" submissionMode="simultaneous" identifier="RTEST-03-A">
9
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
10
+ <rubricBlock view="candidate">
11
+ <p>Instructions for Section A</p>
12
+ </rubricBlock>
13
+ <assessmentItemRef identifier="item034" href="item034.xml"/>
14
+ <assessmentItemRef identifier="item160" href="item160.xml"/>
15
+ <assessmentItemRef identifier="item063" href="item063.xml"/>
16
+ </assessmentSection>
17
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
18
+ <rubricBlock view="candidate">
19
+ <p>Instructions for Section B</p>
20
+ </rubricBlock>
21
+ <assessmentItemRef identifier="item434" href="item434.xml"/>
22
+ <assessmentItemRef identifier="item065" href="item065.xml" category="English"/>
23
+ <assessmentItemRef identifier="item347" href="item347.xml" category="Math Algebra"/>
24
+ <assessmentItemRef identifier="item653" href="item653.xml" category="Math Geometry"/>
25
+ <assessmentItemRef identifier="item365" href="item365.xml"
26
+ category="Math Geometry PreTest"/>
27
+ <assessmentItemRef identifier="item656" href="item656.xml"/>
28
+ </assessmentSection>
29
+ </testPart>
30
+ <outcomeProcessing>
31
+ <setOutcomeValue identifier="MATH_SCORE">
32
+ <sum>
33
+ <testVariables includeCategory="Math" excludeCategory="PreTest"
34
+ variableIdentifier="SCORE"/>
35
+ </sum>
36
+ </setOutcomeValue>
37
+ </outcomeProcessing>
38
+ </assessmentTest>
@@ -0,0 +1,50 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-04" title="Arbitrary Weighting of Item Outcomes">
6
+ <outcomeDeclaration baseType="float" cardinality="single" identifier="SCORE">
7
+ <defaultValue>
8
+ <value>0</value>
9
+ </defaultValue>
10
+ </outcomeDeclaration>
11
+ <testPart navigationMode="nonlinear" submissionMode="simultaneous" identifier="RTEST-04-A">
12
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
13
+ <rubricBlock view="candidate">
14
+ <p>Instructions for Section A</p>
15
+ </rubricBlock>
16
+ <assessmentItemRef identifier="item034" href="item034.xml">
17
+ <weight identifier="WEIGHT" value="2"/>
18
+ </assessmentItemRef>
19
+ <assessmentItemRef identifier="item160" href="item160.xml">
20
+ <weight identifier="WEIGHT" value="0"/>
21
+ </assessmentItemRef>
22
+ <!-- undefined weights default to 1 -->
23
+ <assessmentItemRef identifier="item063" href="item063.xml"/>
24
+ </assessmentSection>
25
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
26
+ <rubricBlock view="candidate">
27
+ <p>Instructions for Section B</p>
28
+ </rubricBlock>
29
+ <assessmentItemRef identifier="item434" href="item434.xml">
30
+ <weight identifier="WEIGHT" value="0.5"/>
31
+ </assessmentItemRef>
32
+ <assessmentItemRef identifier="item065" href="item065.xml">
33
+ <weight identifier="WEIGHT" value="0.5"/>
34
+ </assessmentItemRef>
35
+ <assessmentItemRef identifier="item365" href="item365.xml">
36
+ <weight identifier="WEIGHT" value="0.5"/>
37
+ </assessmentItemRef>
38
+ <assessmentItemRef identifier="item656" href="item656.xml">
39
+ <weight identifier="WEIGHT" value="0.5"/>
40
+ </assessmentItemRef>
41
+ </assessmentSection>
42
+ </testPart>
43
+ <outcomeProcessing>
44
+ <setOutcomeValue identifier="SCORE">
45
+ <sum>
46
+ <testVariables variableIdentifier="SCORE" weightIdentifier="WEIGHT"/>
47
+ </sum>
48
+ </setOutcomeValue>
49
+ </outcomeProcessing>
50
+ </assessmentTest>
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-06" title="Specifiying the Number of Allowed Attempts">
6
+ <testPart navigationMode="linear" submissionMode="individual" identifier="RTEST-06-A">
7
+ <itemSessionControl maxAttempts="0"/>
8
+ <assessmentSection identifier="introduction" title="Introduction" visible="true">
9
+ <assessmentItemRef identifier="item820" href="item820.xml"/>
10
+ <assessmentItemRef identifier="item716" href="item716.xml"/>
11
+ <assessmentItemRef identifier="item204" href="item204.xml"/>
12
+ </assessmentSection>
13
+ </testPart>
14
+ <testPart navigationMode="linear" submissionMode="individual" identifier="RTEST-06-B">
15
+ <itemSessionControl maxAttempts="1"/>
16
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
17
+ <rubricBlock view="candidate">
18
+ <p>Instructions for Section A</p>
19
+ </rubricBlock>
20
+ <assessmentItemRef identifier="item034" href="item034.xml"/>
21
+ <assessmentItemRef identifier="item160" href="item160.xml"/>
22
+ <assessmentItemRef identifier="item063" href="item063.xml"/>
23
+ </assessmentSection>
24
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
25
+ <rubricBlock view="candidate">
26
+ <p>Instructions for Section B</p>
27
+ </rubricBlock>
28
+ <assessmentItemRef identifier="item434" href="item434.xml"/>
29
+ <assessmentItemRef identifier="item065" href="item065.xml"/>
30
+ <assessmentItemRef identifier="item365" href="item365.xml"/>
31
+ <assessmentItemRef identifier="item656" href="item656.xml"/>
32
+ </assessmentSection>
33
+ </testPart>
34
+ </assessmentTest>
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-08" title="Controlling Item Feedback in Relation to the Test">
6
+ <testPart navigationMode="linear" submissionMode="individual" identifier="RTEST-08-A">
7
+ <itemSessionControl maxAttempts="0"/>
8
+ <assessmentSection identifier="introduction" title="Introduction" visible="true">
9
+ <assessmentItemRef identifier="item820" href="item820.xml"/>
10
+ <assessmentItemRef identifier="item716" href="item716.xml"/>
11
+ <assessmentItemRef identifier="item204" href="item204.xml"/>
12
+ </assessmentSection>
13
+ </testPart>
14
+ <testPart navigationMode="nonlinear" submissionMode="simultaneous" identifier="RTEST-08-B">
15
+ <!-- Allowing review and feedback in simultaneous mode means that
16
+ the test is navigable after submission (in this case, in
17
+ a nonlinear style). -->
18
+ <itemSessionControl maxAttempts="1" showFeedback="true" allowReview="true"
19
+ showSolution="false"/>
20
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
21
+ <rubricBlock view="candidate">
22
+ <p>Instructions for Section A</p>
23
+ </rubricBlock>
24
+ <assessmentItemRef identifier="item034" href="item034.xml"/>
25
+ <assessmentItemRef identifier="item160" href="item160.xml"/>
26
+ <assessmentItemRef identifier="item063" href="item063.xml"/>
27
+ </assessmentSection>
28
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
29
+ <rubricBlock view="candidate">
30
+ <p>Instructions for Section B</p>
31
+ </rubricBlock>
32
+ <assessmentItemRef identifier="item434" href="item434.xml"/>
33
+ <assessmentItemRef identifier="item065" href="item065.xml"/>
34
+ <assessmentItemRef identifier="item365" href="item365.xml"/>
35
+ <assessmentItemRef identifier="item656" href="item656.xml"/>
36
+ </assessmentSection>
37
+ </testPart>
38
+ </assessmentTest>
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-09" title="Controlling the duration of an item attempt">
6
+ <!-- Provide support for controlling the duration of an item attempt (both maximum and minimum)
7
+ in the context of a specific test. -->
8
+ <testPart navigationMode="linear" submissionMode="individual" identifier="RTEST-09-A">
9
+ <itemSessionControl showFeedback="true" maxAttempts="1" showSolution="false"/>
10
+ <timeLimits maxTime="3600"/>
11
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
12
+ <rubricBlock view="candidate">
13
+ <p>Instructions for Section A</p>
14
+ </rubricBlock>
15
+ <assessmentItemRef identifier="item034" href="item034.xml">
16
+ <itemSessionControl maxAttempts="0"/>
17
+ <timeLimits minTime="180" maxTime="600"/>
18
+ </assessmentItemRef>
19
+ <assessmentItemRef identifier="item160" href="item160.xml"/>
20
+ <assessmentItemRef identifier="item063" href="item063.xml"/>
21
+ </assessmentSection>
22
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
23
+ <itemSessionControl maxAttempts="2"/>
24
+ <timeLimits maxTime="7200"/>
25
+ <rubricBlock view="candidate">
26
+ <p>Instructions for Section B</p>
27
+ </rubricBlock>
28
+ <assessmentItemRef identifier="item434" href="item434.xml"/>
29
+ <assessmentItemRef identifier="item065" href="item065.xml"/>
30
+ <assessmentItemRef identifier="item365" href="item365.xml"/>
31
+ </assessmentSection>
32
+ </testPart>
33
+ </assessmentTest>
@@ -0,0 +1,48 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-10" title="Early termination of test based on accumulated item outcomes">
6
+ <!-- Provide support for early termination of test based on accumulated item outcomes. -->
7
+ <outcomeDeclaration baseType="float" cardinality="single" identifier="SCORE">
8
+ <defaultValue>
9
+ <value>0</value>
10
+ </defaultValue>
11
+ </outcomeDeclaration>
12
+ <testPart navigationMode="linear" submissionMode="individual" identifier="RTEST-10-A">
13
+ <itemSessionControl showFeedback="true" maxAttempts="1" showSolution="false"/>
14
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
15
+ <rubricBlock view="candidate">
16
+ <p>Instructions for Section A</p>
17
+ </rubricBlock>
18
+ <assessmentItemRef identifier="item034" href="item034.xml"/>
19
+ <assessmentItemRef identifier="item160" href="ïtem160.xml"/>
20
+ <assessmentItemRef identifier="item063" href="item063.xml"/>
21
+ </assessmentSection>
22
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
23
+ <itemSessionControl maxAttempts="2"/>
24
+ <rubricBlock view="candidate">
25
+ <p>Instructions for Section B</p>
26
+ </rubricBlock>
27
+ <assessmentItemRef identifier="item434" href="item434.xml"/>
28
+ <assessmentItemRef identifier="item065" href="item065.xml"/>
29
+ <assessmentItemRef identifier="item365" href="item365.xml"/>
30
+ </assessmentSection>
31
+ </testPart>
32
+ <outcomeProcessing>
33
+ <setOutcomeValue identifier="SCORE">
34
+ <sum>
35
+ <testVariables variableIdentifier="SCORE"/>
36
+ </sum>
37
+ </setOutcomeValue>
38
+ <outcomeCondition>
39
+ <outcomeIf>
40
+ <gt>
41
+ <variable identifier="SCORE"/>
42
+ <baseValue baseType="float">3</baseValue>
43
+ </gt>
44
+ <exitTest/>
45
+ </outcomeIf>
46
+ </outcomeCondition>
47
+ </outcomeProcessing>
48
+ </assessmentTest>
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-12" title="Golden (required) Items and Sections">
6
+ <testPart navigationMode="nonlinear" submissionMode="simultaneous" identifier="RTEST-12-A">
7
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
8
+ <selection select="2"/>
9
+ <ordering shuffle="false"/>
10
+ <rubricBlock view="candidate">
11
+ <p>Instructions for Section A</p>
12
+ </rubricBlock>
13
+ <assessmentItemRef identifier="item034" href="item034.xml" required="true"/>
14
+ <assessmentItemRef identifier="item160" href="item160.xml"/>
15
+ <assessmentItemRef identifier="item063" href="item063.xml"/>
16
+ </assessmentSection>
17
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
18
+ <!-- In Section B, we select 2 children but Section B1 is required so
19
+ we effectively select B1 and one of the other three items.
20
+ B1 is an invisible section and the three items it contains will
21
+ be mixed in with the other selected item when shuffling. -->
22
+ <selection select="2"/>
23
+ <ordering shuffle="true"/>
24
+ <rubricBlock view="candidate">
25
+ <p>Instructions for Section B</p>
26
+ </rubricBlock>
27
+ <assessmentItemRef identifier="item434" href="item434.xml"/>
28
+ <assessmentItemRef identifier="item065" href="item065.xml"/>
29
+ <assessmentItemRef identifier="item365" href="item365.xml"/>
30
+ <assessmentSection identifier="sectionB1" title="Section B1" visible="false"
31
+ keepTogether="false" required="true">
32
+ <assessmentItemRef identifier="item347" href="item347.xml"/>
33
+ <assessmentItemRef identifier="item653" href="item653.xml"/>
34
+ <assessmentItemRef identifier="item656" href="item656.xml"/>
35
+ </assessmentSection>
36
+ </assessmentSection>
37
+ </testPart>
38
+ </assessmentTest>
@@ -0,0 +1,62 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-13" title="Branching based on the response to an assessmentItem">
6
+ <!-- Provide support for branching. -->
7
+ <testPart navigationMode="linear" submissionMode="individual" identifier="RTEST-13-A">
8
+ <itemSessionControl showFeedback="true" maxAttempts="1" showSolution="false"/>
9
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
10
+ <rubricBlock view="candidate">
11
+ <p>Instructions for Section A</p>
12
+ </rubricBlock>
13
+ <assessmentItemRef identifier="item034" href="item034.xml">
14
+ <itemSessionControl maxAttempts="0"/>
15
+ </assessmentItemRef>
16
+ <assessmentItemRef identifier="item160" href="item160.xml">
17
+ <!-- this item only if the the previous response was identifier Y -->
18
+ <preCondition>
19
+ <match>
20
+ <variable identifier="item034.RESPONSE"/>
21
+ <baseValue baseType="identifier">Y</baseValue>
22
+ </match>
23
+ </preCondition>
24
+ </assessmentItemRef>
25
+ <assessmentItemRef identifier="item063" href="item063.xml">
26
+ <!-- this item only if the the previous response was identifier N -->
27
+ <preCondition>
28
+ <match>
29
+ <variable identifier="item034.RESPONSE"/>
30
+ <baseValue baseType="identifier">N</baseValue>
31
+ </match>
32
+ </preCondition>
33
+ </assessmentItemRef>
34
+ </assessmentSection>
35
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
36
+ <itemSessionControl maxAttempts="2"/>
37
+ <rubricBlock view="candidate">
38
+ <p>Instructions for Section B</p>
39
+ </rubricBlock>
40
+ <assessmentItemRef identifier="item347" href="item347.xml">
41
+ <!-- skip item653 if response is identifier "N" -->
42
+ <branchRule target="item656">
43
+ <match>
44
+ <variable identifier="item347.RESPONSE"/>
45
+ <baseValue baseType="identifier">N</baseValue>
46
+ </match>
47
+ </branchRule>
48
+ <!-- special targetItem means exit this section of the test -->
49
+ <branchRule target="EXIT_SECTION">
50
+ <not>
51
+ <match>
52
+ <variable identifier="item347.RESPONSE"/>
53
+ <baseValue baseType="identifier">Y</baseValue>
54
+ </match>
55
+ </not>
56
+ </branchRule>
57
+ </assessmentItemRef>
58
+ <assessmentItemRef identifier="item653" href="item653.xml"/>
59
+ <assessmentItemRef identifier="item656" href="item656.xml"/>
60
+ </assessmentSection>
61
+ </testPart>
62
+ </assessmentTest>
@@ -0,0 +1,41 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentTest xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="RTEST-22" title="Items Arranged into Sections within Tests">
6
+ <testPart navigationMode="linear" submissionMode="individual" identifier="RTEST-22-A">
7
+ <!-- First part done one item at a time, with submission after each item -->
8
+ <assessmentSection identifier="introduction" title="Introduction" visible="true">
9
+ <assessmentItemRef identifier="item820" href="item820.xml"/>
10
+ <assessmentItemRef identifier="item716" href="item716.xml"/>
11
+ <assessmentItemRef identifier="item204" href="item204.xml"/>
12
+ </assessmentSection>
13
+ </testPart>
14
+ <testPart navigationMode="nonlinear" submissionMode="simultaneous" identifier="RTEST-22-B">
15
+ <assessmentSection identifier="sectionA" title="Section A" visible="true">
16
+ <rubricBlock view="candidate">
17
+ <p>Instructions for Section A</p>
18
+ </rubricBlock>
19
+ <assessmentItemRef identifier="item034" href="item034.xml"/>
20
+ <assessmentItemRef identifier="item160" href="item160.xml"/>
21
+ <assessmentItemRef identifier="item063" href="item063.xml"/>
22
+ </assessmentSection>
23
+ <assessmentSection identifier="sectionB" title="Section B" visible="true">
24
+ <rubricBlock view="candidate">
25
+ <p>Instructions for Section B</p>
26
+ </rubricBlock>
27
+ <assessmentItemRef identifier="item434" href="item434.xml"/>
28
+ <assessmentItemRef identifier="item065" href="item065.xml"/>
29
+ <assessmentItemRef identifier="item365" href="item365.xml"/>
30
+ <assessmentSection identifier="sectionB1" title="Section B1" visible="false">
31
+ <rubricBlock view="candidate">
32
+ <p>More instructions to cover these items only, displayed in addition to the
33
+ general instructions for section B.</p>
34
+ </rubricBlock>
35
+ <assessmentItemRef identifier="item347" href="item347.xml"/>
36
+ <assessmentItemRef identifier="item653" href="item653.xml"/>
37
+ </assessmentSection>
38
+ <assessmentItemRef identifier="item656" href="item656.xml"/>
39
+ </assessmentSection>
40
+ </testPart>
41
+ </assessmentTest>