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,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>