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,211 @@
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"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ xmlns:m="http://www.w3.org/1998/Math/MathML" identifier="Template_FIB_001"
6
+ title="Product of a fraction by a number" adaptive="false" timeDependent="false">
7
+ <responseDeclaration identifier="REPONSE0" cardinality="multiple" baseType="identifier">
8
+ <correctResponse>
9
+ <value>Item1</value>
10
+ </correctResponse>
11
+ </responseDeclaration>
12
+ <outcomeDeclaration identifier="FEEDBACK1" cardinality="single" baseType="identifier"/>
13
+ <outcomeDeclaration identifier="FEEDBACK0" cardinality="single" baseType="identifier"/>
14
+ <outcomeDeclaration identifier="FEEDBACK2" cardinality="single" baseType="identifier"/>
15
+ <outcomeDeclaration identifier="FEEDBACK3" cardinality="single" baseType="identifier"/>
16
+ <outcomeDeclaration identifier="SCORE0" cardinality="single" baseType="float"/>
17
+ <templateDeclaration identifier="a" cardinality="single" baseType="integer" mathVariable="true"
18
+ paramVariable="true"/>
19
+ <templateDeclaration identifier="b" cardinality="single" baseType="integer" mathVariable="true"
20
+ paramVariable="true"/>
21
+ <templateDeclaration identifier="c" cardinality="single" baseType="integer" mathVariable="true"
22
+ paramVariable="true"/>
23
+ <templateDeclaration identifier="p" cardinality="single" baseType="integer" mathVariable="true"
24
+ paramVariable="true"/>
25
+ <templateDeclaration identifier="Choix0" cardinality="single" baseType="integer"
26
+ mathVariable="true" paramVariable="true"/>
27
+ <templateDeclaration identifier="Choix1" cardinality="single" baseType="integer"
28
+ mathVariable="true" paramVariable="true"/>
29
+ <templateDeclaration identifier="Choix2" cardinality="single" baseType="integer"
30
+ mathVariable="true" paramVariable="true"/>
31
+ <templateDeclaration identifier="Choix3" cardinality="single" baseType="integer"
32
+ mathVariable="true" paramVariable="true"/>
33
+ <templateProcessing>
34
+ <setTemplateValue identifier="a">
35
+ <randomInteger min="1" max="10"/>
36
+ </setTemplateValue>
37
+ <setTemplateValue identifier="b">
38
+ <randomInteger min="2" max="20"/>
39
+ </setTemplateValue>
40
+ <setTemplateValue identifier="c">
41
+ <randomInteger min="-20" max="-10"/>
42
+ </setTemplateValue>
43
+ <setTemplateValue identifier="p">
44
+ <product>
45
+ <variable identifier="a"/>
46
+ <variable identifier="c"/>
47
+ </product>
48
+ </setTemplateValue>
49
+ <setTemplateValue identifier="Choix0">
50
+ <subtract>
51
+ <baseValue baseType="integer">0</baseValue>
52
+ <product>
53
+ <variable identifier="a"/>
54
+ <variable identifier="c"/>
55
+ </product>
56
+ </subtract>
57
+ </setTemplateValue>
58
+ <setTemplateValue identifier="Choix1">
59
+ <subtract>
60
+ <baseValue baseType="integer">0</baseValue>
61
+ <product>
62
+ <variable identifier="b"/>
63
+ <variable identifier="c"/>
64
+ </product>
65
+ </subtract>
66
+ </setTemplateValue>
67
+ <setTemplateValue identifier="Choix2">
68
+ <round>
69
+ <divide>
70
+ <product>
71
+ <variable identifier="a"/>
72
+ <variable identifier="c"/>
73
+ </product>
74
+ <variable identifier="b"/>
75
+ </divide>
76
+ </round>
77
+ </setTemplateValue>
78
+ <setTemplateValue identifier="Choix3">
79
+ <subtract>
80
+ <baseValue baseType="integer">0</baseValue>
81
+ <round>
82
+ <divide>
83
+ <product>
84
+ <variable identifier="a"/>
85
+ <variable identifier="c"/>
86
+ </product>
87
+ <variable identifier="b"/>
88
+ </divide>
89
+ </round>
90
+ </subtract>
91
+ </setTemplateValue>
92
+ <templateConstraint>
93
+ <equal toleranceMode="exact">
94
+ <gcd>
95
+ <variable identifier="a"/>
96
+ <variable identifier="b"/>
97
+ </gcd>
98
+ <baseValue baseType="integer">1</baseValue>
99
+ </equal>
100
+ </templateConstraint>
101
+ <templateConstraint>
102
+ <lt>
103
+ <variable identifier="a"/>
104
+ <variable identifier="b"/>
105
+ </lt>
106
+ </templateConstraint>
107
+ <templateConstraint>
108
+ <equal toleranceMode="exact">
109
+ <integerModulus>
110
+ <variable identifier="p"/>
111
+ <variable identifier="b"/>
112
+ </integerModulus>
113
+ <baseValue baseType="integer">0</baseValue>
114
+ </equal>
115
+ </templateConstraint>
116
+ </templateProcessing>
117
+ <itemBody>
118
+ <div>
119
+ <em> </em>
120
+ <choiceInteraction responseIdentifier="REPONSE0" shuffle="true" maxChoices="1">
121
+ <prompt>
122
+ <m:math>
123
+ <m:mfrac>
124
+ <m:mi>a</m:mi>
125
+ <m:mi>b</m:mi>
126
+ </m:mfrac>
127
+ </m:math> of <m:math>
128
+ <m:mi>c</m:mi>
129
+ </m:math>
130
+ <br/> is equal to:<br/>
131
+ </prompt>
132
+ <simpleChoice identifier="Item0" fixed="false"> - <m:math>
133
+ <m:mfrac>
134
+ <m:mi> Choix0</m:mi>
135
+ <m:mi> Choix1</m:mi>
136
+ </m:mfrac>
137
+ </m:math>
138
+ </simpleChoice>
139
+ <simpleChoice identifier="Item1" fixed="false">
140
+ <m:math>
141
+ <m:mi> Choix2</m:mi>
142
+ </m:math>
143
+ </simpleChoice>
144
+ <simpleChoice identifier="Item2" fixed="false">
145
+ <m:math>
146
+ <m:mi> Choix3</m:mi>
147
+ </m:math>
148
+ </simpleChoice>
149
+ </choiceInteraction>
150
+ </div>
151
+ </itemBody>
152
+ <responseProcessing>
153
+ <responseCondition>
154
+ <responseIf>
155
+ <match>
156
+ <variable identifier="REPONSE0"/>
157
+ <correct identifier="REPONSE0"/>
158
+ </match>
159
+ <setOutcomeValue identifier="FEEDBACK1">
160
+ <baseValue baseType="identifier">FEEDBACK1</baseValue>
161
+ </setOutcomeValue>
162
+ <setOutcomeValue identifier="SCORE0">
163
+ <baseValue baseType="float">4</baseValue>
164
+ </setOutcomeValue>
165
+ </responseIf>
166
+ <responseElseIf>
167
+ <match>
168
+ <multiple>
169
+ <baseValue baseType="identifier">Item0</baseValue>
170
+ </multiple>
171
+ <variable identifier="REPONSE0"/>
172
+ </match>
173
+ <setOutcomeValue identifier="FEEDBACK0">
174
+ <baseValue baseType="identifier">FEEDBACK0</baseValue>
175
+ </setOutcomeValue>
176
+ <setOutcomeValue identifier="SCORE0">
177
+ <baseValue baseType="float">0</baseValue>
178
+ </setOutcomeValue>
179
+ </responseElseIf>
180
+ <responseElseIf>
181
+ <match>
182
+ <multiple>
183
+ <baseValue baseType="identifier">Item2</baseValue>
184
+ </multiple>
185
+ <variable identifier="REPONSE0"/>
186
+ </match>
187
+ <setOutcomeValue identifier="FEEDBACK2">
188
+ <baseValue baseType="identifier">FEEDBACK2</baseValue>
189
+ </setOutcomeValue>
190
+ <setOutcomeValue identifier="SCORE0">
191
+ <baseValue baseType="float">0</baseValue>
192
+ </setOutcomeValue>
193
+ </responseElseIf>
194
+ <responseElse>
195
+ <setOutcomeValue identifier="FEEDBACK3">
196
+ <baseValue baseType="identifier">FEEDBACK3</baseValue>
197
+ </setOutcomeValue>
198
+ <setOutcomeValue identifier="SCORE0">
199
+ <baseValue baseType="float">0</baseValue>
200
+ </setOutcomeValue>
201
+ </responseElse>
202
+ </responseCondition>
203
+ </responseProcessing>
204
+ <modalFeedback outcomeIdentifier="FEEDBACK1" identifier="FEEDBACK1" showHide="show"> Good answer. </modalFeedback>
205
+ <modalFeedback outcomeIdentifier="FEEDBACK0" identifier="FEEDBACK0" showHide="show"> We must
206
+ multiply the numerator only. </modalFeedback>
207
+ <modalFeedback outcomeIdentifier="FEEDBACK2" identifier="FEEDBACK2" showHide="show"> Pay attention
208
+ to the sign! </modalFeedback>
209
+ <modalFeedback outcomeIdentifier="FEEDBACK3" identifier="FEEDBACK3" showHide="show"> No comment.
210
+ </modalFeedback>
211
+ </assessmentItem>
@@ -0,0 +1,219 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assessmentItem adaptive="false" identifier="stat2" timeDependent="false"
3
+ title="Test of statistics functions" toolName="Exo+" toolVersion="0.0.9-SNAPSHOT" xml:lang="en"
4
+ xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2" xmlns:m="http://www.w3.org/1998/Math/MathML"
5
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd">
7
+ <responseDeclaration baseType="integer" cardinality="single" identifier="RESPONSE0"/>
8
+ <responseDeclaration baseType="integer" cardinality="single" identifier="RESPONSE1"/>
9
+ <responseDeclaration baseType="float" cardinality="single" identifier="RESPONSE2"/>
10
+ <responseDeclaration baseType="float" cardinality="single" identifier="RESPONSE3"/>
11
+ <outcomeDeclaration baseType="identifier" cardinality="single" identifier="FEEDBACK"/>
12
+ <outcomeDeclaration baseType="float" cardinality="single" identifier="SCORE"/>
13
+ <templateDeclaration baseType="integer" cardinality="single" identifier="n" mathVariable="true"
14
+ paramVariable="true"/>
15
+ <templateDeclaration baseType="integer" cardinality="ordered" identifier="t" mathVariable="true"
16
+ paramVariable="true"/>
17
+ <templateDeclaration baseType="integer" cardinality="single" identifier="SOLUTION0_0"
18
+ mathVariable="true" paramVariable="true"/>
19
+ <templateDeclaration baseType="integer" cardinality="single" identifier="SOLUTION1_0"
20
+ mathVariable="true" paramVariable="true"/>
21
+ <templateDeclaration baseType="float" cardinality="single" identifier="SOLUTION2_0"
22
+ mathVariable="true" paramVariable="true"/>
23
+ <templateDeclaration baseType="float" cardinality="single" identifier="SOLUTION3_0"
24
+ mathVariable="true" paramVariable="true"/>
25
+ <templateProcessing>
26
+ <setTemplateValue identifier="n">
27
+ <randomInteger max="10" min="2"/>
28
+ </setTemplateValue>
29
+ <setTemplateValue identifier="t">
30
+ <ordered>
31
+ <repeat numberRepeats="n">
32
+ <randomInteger max="100" min="-100"/>
33
+ </repeat>
34
+ </ordered>
35
+ </setTemplateValue>
36
+ <setTemplateValue identifier="SOLUTION0_0">
37
+ <min>
38
+ <variable identifier="t"/>
39
+ </min>
40
+ </setTemplateValue>
41
+ <setCorrectResponse identifier="RESPONSE0">
42
+ <variable identifier="SOLUTION0_0"/>
43
+ </setCorrectResponse>
44
+ <setTemplateValue identifier="SOLUTION1_0">
45
+ <max>
46
+ <variable identifier="t"/>
47
+ </max>
48
+ </setTemplateValue>
49
+ <setCorrectResponse identifier="RESPONSE1">
50
+ <variable identifier="SOLUTION1_0"/>
51
+ </setCorrectResponse>
52
+ <setTemplateValue identifier="SOLUTION2_0">
53
+ <divide>
54
+ <round>
55
+ <product>
56
+ <statsOperator name="mean">
57
+ <variable identifier="t"/>
58
+ </statsOperator>
59
+ <baseValue baseType="integer">100</baseValue>
60
+ </product>
61
+ </round>
62
+ <baseValue baseType="integer">100</baseValue>
63
+ </divide>
64
+ </setTemplateValue>
65
+ <setCorrectResponse identifier="RESPONSE2">
66
+ <variable identifier="SOLUTION2_0"/>
67
+ </setCorrectResponse>
68
+ <setTemplateValue identifier="SOLUTION3_0">
69
+ <divide>
70
+ <round>
71
+ <product>
72
+ <statsOperator name="popSD">
73
+ <variable identifier="t"/>
74
+ </statsOperator>
75
+ <baseValue baseType="integer">100</baseValue>
76
+ </product>
77
+ </round>
78
+ <baseValue baseType="integer">100</baseValue>
79
+ </divide>
80
+ </setTemplateValue>
81
+ <setCorrectResponse identifier="RESPONSE3">
82
+ <variable identifier="SOLUTION3_0"/>
83
+ </setCorrectResponse>
84
+
85
+ </templateProcessing>
86
+ <itemBody>
87
+ <div> Here is a set of numbers: <printedVariable identifier="t"/><br/>
88
+ <br/>- What is the smallest number of this set? <textEntryInteraction expectedLength="5"
89
+ responseIdentifier="RESPONSE0"/>
90
+ <br/>- What is the greatest number of this set? <textEntryInteraction expectedLength="5"
91
+ responseIdentifier="RESPONSE1"/>
92
+ <br/>- What is the mean of this set (rounded to two decimal places)?
93
+ <textEntryInteraction expectedLength="5" responseIdentifier="RESPONSE2"/>
94
+ <br/>- What is the standard deviation of this set (rounded to two decimal places)?
95
+ <textEntryInteraction expectedLength="5" responseIdentifier="RESPONSE3"/>
96
+ </div>
97
+ </itemBody>
98
+ <responseProcessing>
99
+ <responseCondition>
100
+ <responseIf>
101
+ <and>
102
+ <equal toleranceMode="exact">
103
+ <variable identifier="RESPONSE0"/>
104
+ <correct identifier="RESPONSE0"/>
105
+ </equal>
106
+ <equal toleranceMode="exact">
107
+ <variable identifier="RESPONSE1"/>
108
+ <correct identifier="RESPONSE1"/>
109
+ </equal>
110
+ <equal toleranceMode="exact">
111
+ <variable identifier="RESPONSE2"/>
112
+ <correct identifier="RESPONSE2"/>
113
+ </equal>
114
+ <equal toleranceMode="exact">
115
+ <variable identifier="RESPONSE3"/>
116
+ <correct identifier="RESPONSE3"/>
117
+ </equal>
118
+ </and>
119
+ <setOutcomeValue identifier="FEEDBACK">
120
+ <baseValue baseType="identifier">FEEDBACK0</baseValue>
121
+ </setOutcomeValue>
122
+ <setOutcomeValue identifier="SCORE">
123
+ <baseValue baseType="float">8.0</baseValue>
124
+ </setOutcomeValue>
125
+ </responseIf>
126
+ <responseElseIf>
127
+ <and>
128
+ <equal toleranceMode="exact">
129
+ <variable identifier="RESPONSE0"/>
130
+ <correct identifier="RESPONSE0"/>
131
+ </equal>
132
+ <equal toleranceMode="exact">
133
+ <variable identifier="RESPONSE1"/>
134
+ <correct identifier="RESPONSE1"/>
135
+ </equal>
136
+ </and>
137
+ <setOutcomeValue identifier="FEEDBACK">
138
+ <baseValue baseType="identifier">FEEDBACK1</baseValue>
139
+ </setOutcomeValue>
140
+ <setOutcomeValue identifier="SCORE">
141
+ <baseValue baseType="float">4.0</baseValue>
142
+ </setOutcomeValue>
143
+ </responseElseIf>
144
+ <responseElseIf>
145
+ <and>
146
+ <equal toleranceMode="exact">
147
+ <variable identifier="RESPONSE0"/>
148
+ <correct identifier="RESPONSE0"/>
149
+ </equal>
150
+ <equal toleranceMode="exact">
151
+ <variable identifier="RESPONSE2"/>
152
+ <correct identifier="RESPONSE2"/>
153
+ </equal>
154
+ </and>
155
+ <setOutcomeValue identifier="FEEDBACK">
156
+ <baseValue baseType="identifier">FEEDBACK2</baseValue>
157
+ </setOutcomeValue>
158
+ <setOutcomeValue identifier="SCORE">
159
+ <baseValue baseType="float">4.0</baseValue>
160
+ </setOutcomeValue>
161
+ </responseElseIf>
162
+ <responseElseIf>
163
+ <and>
164
+ <equal toleranceMode="exact">
165
+ <variable identifier="RESPONSE2"/>
166
+ <correct identifier="RESPONSE2"/>
167
+ </equal>
168
+ <equal toleranceMode="exact">
169
+ <variable identifier="RESPONSE3"/>
170
+ <correct identifier="RESPONSE3"/>
171
+ </equal>
172
+ </and>
173
+ <setOutcomeValue identifier="FEEDBACK">
174
+ <baseValue baseType="identifier">FEEDBACK3</baseValue>
175
+ </setOutcomeValue>
176
+ <setOutcomeValue identifier="SCORE">
177
+ <baseValue baseType="float">4.0</baseValue>
178
+ </setOutcomeValue>
179
+ </responseElseIf>
180
+ <responseElse>
181
+ <setOutcomeValue identifier="FEEDBACK">
182
+ <baseValue baseType="identifier">DEFAULT_FEEDBACK</baseValue>
183
+ </setOutcomeValue>
184
+ <setOutcomeValue identifier="SCORE">
185
+ <baseValue baseType="float">0.0</baseValue>
186
+ </setOutcomeValue>
187
+ </responseElse>
188
+ </responseCondition>
189
+ </responseProcessing>
190
+ <modalFeedback identifier="FEEDBACK0" outcomeIdentifier="FEEDBACK" showHide="show">Bravo
191
+ !</modalFeedback>
192
+ <modalFeedback identifier="FEEDBACK1" outcomeIdentifier="FEEDBACK" showHide="show">The mean was: <m:math>
193
+ <m:mi>SOLUTION2_0</m:mi>
194
+ </m:math> and the standard deviation was: <m:math>
195
+ <m:mi>SOLUTION3_0</m:mi>
196
+ </m:math>. </modalFeedback>
197
+ <modalFeedback identifier="FEEDBACK2" outcomeIdentifier="FEEDBACK" showHide="show">The greatest
198
+ one was: <m:math>
199
+ <m:mi>SOLUTION1_0</m:mi>
200
+ </m:math> and the standard deviation was: <m:math>
201
+ <m:mi>SOLUTION3_0</m:mi>
202
+ </m:math>. </modalFeedback>
203
+ <modalFeedback identifier="FEEDBACK3" outcomeIdentifier="FEEDBACK" showHide="show">The smallest
204
+ one was: <m:math>
205
+ <m:mi>SOLUTION0_0</m:mi>
206
+ </m:math> and the standard deviation was: <m:math>
207
+ <m:mi>SOLUTION3_0</m:mi>
208
+ </m:math>. </modalFeedback>
209
+ <modalFeedback identifier="DEFAULT_FEEDBACK" outcomeIdentifier="FEEDBACK" showHide="show">At
210
+ least two incorrect responses. The smallest one was: <m:math>
211
+ <m:mi>SOLUTION0_0</m:mi>
212
+ </m:math>, the greatest one was: <m:math>
213
+ <m:mi>SOLUTION1_0</m:mi>
214
+ </m:math>, the mean was: <m:math>
215
+ <m:mi>SOLUTION2_0</m:mi>
216
+ </m:math> and the standard deviation was <m:math>
217
+ <m:mi>SOLUTION3_0</m:mi>
218
+ </m:math>. </modalFeedback>
219
+ </assessmentItem>
@@ -0,0 +1,33 @@
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"
4
+ xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p2 http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2.xsd"
5
+ identifier="graphicGapfill" title="Counting Squirrels" adaptive="false" timeDependent="false">
6
+ <responseDeclaration identifier="RESPONSE" cardinality="multiple" baseType="directedPair">
7
+ <correctResponse>
8
+ <value>C1 squirrel</value>
9
+ <value>C1 squirrel</value>
10
+ <value>C1 squirrel</value>
11
+ </correctResponse>
12
+ </responseDeclaration>
13
+ <responseDeclaration cardinality="single" baseType="integer" identifier="MP3ab1Audio"/>
14
+ <responseDeclaration cardinality="single" baseType="integer" identifier="OGGab1Audio"/>
15
+ <outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"/>
16
+ <itemBody>
17
+ <mediaInteraction label="audioButton" autostart="false" responseIdentifier="MP3ab1Audio" coords="275,315,31,31">
18
+ <object label="ab1" type="audio/mpeg" data="tree.mp3"/>
19
+ </mediaInteraction>
20
+ <mediaInteraction label="audioButton" autostart="false" responseIdentifier="OGGab1Audio" coords="275,315,31,31">
21
+ <object label="ab1" type="audio/ogg" data="tree.ogg"/>
22
+ </mediaInteraction>
23
+ <graphicGapMatchInteraction responseIdentifier="RESPONSE">
24
+ <prompt> Put 3 squirrel in the tree. </prompt>
25
+ <object type="image/png" data="tree.png" width="399" height="350"/>
26
+ <gapImg identifier="squirrel" matchMax="10" data-type="clickPop" data-target-container="C1">
27
+ <object type="image/png" data="squirrel.png" width="75" height="76" />
28
+ </gapImg>
29
+ <associableHotspot matchMax="10" shape="rect" identifier="C1" coords="75,0,270,220"/>
30
+ </graphicGapMatchInteraction>
31
+ </itemBody>
32
+ <responseProcessing template="http://www.imsglobal.org/question/qti_v2p2/rptemplates/match_correct"/>
33
+ </assessmentItem>