moodle2cc 0.1.12 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +4 -1
  3. data/Changelog +5 -0
  4. data/Gemfile +2 -0
  5. data/Guardfile +6 -0
  6. data/README.md +1 -1
  7. data/Rakefile +14 -1
  8. data/lib/moodle2cc.rb +66 -0
  9. data/lib/moodle2cc/canvas/question.rb +1 -1
  10. data/lib/moodle2cc/canvas_cc/assessment_writer.rb +82 -0
  11. data/lib/moodle2cc/canvas_cc/assignment_writer.rb +67 -0
  12. data/lib/moodle2cc/canvas_cc/calculated_question_writer.rb +61 -0
  13. data/lib/moodle2cc/canvas_cc/canvas_export_writer.rb +18 -0
  14. data/lib/moodle2cc/canvas_cc/cartridge_creator.rb +57 -0
  15. data/lib/moodle2cc/canvas_cc/course_setting_writer.rb +35 -0
  16. data/lib/moodle2cc/canvas_cc/discussion_writer.rb +51 -0
  17. data/lib/moodle2cc/canvas_cc/essay_question_writer.rb +19 -0
  18. data/lib/moodle2cc/canvas_cc/file_meta_writer.rb +38 -0
  19. data/lib/moodle2cc/canvas_cc/ims_manifest_generator.rb +123 -0
  20. data/lib/moodle2cc/canvas_cc/matching_question_writer.rb +41 -0
  21. data/lib/moodle2cc/canvas_cc/models/answer.rb +12 -0
  22. data/lib/moodle2cc/canvas_cc/models/assessment.rb +68 -0
  23. data/lib/moodle2cc/canvas_cc/models/assignment.rb +30 -0
  24. data/lib/moodle2cc/canvas_cc/models/calculated_question.rb +7 -0
  25. data/lib/moodle2cc/canvas_cc/models/canvas_file.rb +22 -0
  26. data/lib/moodle2cc/canvas_cc/models/canvas_module.rb +10 -0
  27. data/lib/moodle2cc/canvas_cc/models/course.rb +46 -0
  28. data/lib/moodle2cc/canvas_cc/models/discussion.rb +36 -0
  29. data/lib/moodle2cc/canvas_cc/models/discussion_topic.rb +5 -0
  30. data/lib/moodle2cc/canvas_cc/models/matching_question.rb +7 -0
  31. data/lib/moodle2cc/canvas_cc/models/module_item.rb +16 -0
  32. data/lib/moodle2cc/canvas_cc/models/numerical_question.rb +7 -0
  33. data/lib/moodle2cc/canvas_cc/models/page.rb +31 -0
  34. data/lib/moodle2cc/canvas_cc/models/question.rb +36 -0
  35. data/lib/moodle2cc/canvas_cc/models/question_bank.rb +27 -0
  36. data/lib/moodle2cc/canvas_cc/models/question_group.rb +10 -0
  37. data/lib/moodle2cc/canvas_cc/models/resource.rb +23 -0
  38. data/lib/moodle2cc/canvas_cc/models/web_content.rb +7 -0
  39. data/lib/moodle2cc/canvas_cc/models/web_link.rb +7 -0
  40. data/lib/moodle2cc/canvas_cc/models/workflow_state.rb +6 -0
  41. data/lib/moodle2cc/canvas_cc/module_meta_writer.rb +52 -0
  42. data/lib/moodle2cc/canvas_cc/multiple_blanks_question_writer.rb +51 -0
  43. data/lib/moodle2cc/canvas_cc/multiple_choice_question_writer.rb +48 -0
  44. data/lib/moodle2cc/canvas_cc/numerical_question_writer.rb +40 -0
  45. data/lib/moodle2cc/canvas_cc/page_writer.rb +38 -0
  46. data/lib/moodle2cc/canvas_cc/question_bank_writer.rb +44 -0
  47. data/lib/moodle2cc/canvas_cc/question_group_writer.rb +23 -0
  48. data/lib/moodle2cc/canvas_cc/question_writer.rb +127 -0
  49. data/lib/moodle2cc/canvas_cc/short_answer_question_writer.rb +42 -0
  50. data/lib/moodle2cc/canvas_cc/text_only_question_writer.rb +19 -0
  51. data/lib/moodle2cc/canvas_cc/true_false_question_writer.rb +38 -0
  52. data/lib/moodle2cc/cli.rb +1 -1
  53. data/lib/moodle2cc/migrator.rb +37 -4
  54. data/lib/moodle2cc/moodle2.rb +9 -0
  55. data/lib/moodle2cc/moodle2/extractor.rb +144 -0
  56. data/lib/moodle2cc/moodle2/models.rb +17 -0
  57. data/lib/moodle2cc/moodle2/models/assignment.rb +10 -0
  58. data/lib/moodle2cc/moodle2/models/book.rb +9 -0
  59. data/lib/moodle2cc/moodle2/models/book_chapter.rb +5 -0
  60. data/lib/moodle2cc/moodle2/models/course.rb +29 -0
  61. data/lib/moodle2cc/moodle2/models/external_url.rb +7 -0
  62. data/lib/moodle2cc/moodle2/models/folder.rb +9 -0
  63. data/lib/moodle2cc/moodle2/models/forum.rb +10 -0
  64. data/lib/moodle2cc/moodle2/models/glossary.rb +13 -0
  65. data/lib/moodle2cc/moodle2/models/glossary_entry.rb +13 -0
  66. data/lib/moodle2cc/moodle2/models/label.rb +6 -0
  67. data/lib/moodle2cc/moodle2/models/moodle2_file.rb +13 -0
  68. data/lib/moodle2cc/moodle2/models/page.rb +9 -0
  69. data/lib/moodle2cc/moodle2/models/quizzes.rb +13 -0
  70. data/lib/moodle2cc/moodle2/models/quizzes/answer.rb +5 -0
  71. data/lib/moodle2cc/moodle2/models/quizzes/calculated_question.rb +11 -0
  72. data/lib/moodle2cc/moodle2/models/quizzes/match_question.rb +11 -0
  73. data/lib/moodle2cc/moodle2/models/quizzes/multianswer_question.rb +23 -0
  74. data/lib/moodle2cc/moodle2/models/quizzes/numerical_question.rb +11 -0
  75. data/lib/moodle2cc/moodle2/models/quizzes/question.rb +33 -0
  76. data/lib/moodle2cc/moodle2/models/quizzes/question_category.rb +18 -0
  77. data/lib/moodle2cc/moodle2/models/quizzes/quiz.rb +20 -0
  78. data/lib/moodle2cc/moodle2/models/quizzes/random_sa_question.rb +6 -0
  79. data/lib/moodle2cc/moodle2/models/quizzes/true_false_question.rb +6 -0
  80. data/lib/moodle2cc/moodle2/models/resource.rb +11 -0
  81. data/lib/moodle2cc/moodle2/models/section.rb +19 -0
  82. data/lib/moodle2cc/moodle2/parsers.rb +19 -0
  83. data/lib/moodle2cc/moodle2/parsers/answer_parser.rb +17 -0
  84. data/lib/moodle2cc/moodle2/parsers/assignment_parser.rb +61 -0
  85. data/lib/moodle2cc/moodle2/parsers/book_parser.rb +52 -0
  86. data/lib/moodle2cc/moodle2/parsers/course_parser.rb +28 -0
  87. data/lib/moodle2cc/moodle2/parsers/external_url_parser.rb +40 -0
  88. data/lib/moodle2cc/moodle2/parsers/file_parser.rb +47 -0
  89. data/lib/moodle2cc/moodle2/parsers/folder_parser.rb +54 -0
  90. data/lib/moodle2cc/moodle2/parsers/forum_parser.rb +53 -0
  91. data/lib/moodle2cc/moodle2/parsers/glossary_parser.rb +78 -0
  92. data/lib/moodle2cc/moodle2/parsers/label_parser.rb +36 -0
  93. data/lib/moodle2cc/moodle2/parsers/page_parser.rb +45 -0
  94. data/lib/moodle2cc/moodle2/parsers/parser_helper.rb +37 -0
  95. data/lib/moodle2cc/moodle2/parsers/question_category_parser.rb +47 -0
  96. data/lib/moodle2cc/moodle2/parsers/question_parsers.rb +13 -0
  97. data/lib/moodle2cc/moodle2/parsers/question_parsers/calculated_parser.rb +43 -0
  98. data/lib/moodle2cc/moodle2/parsers/question_parsers/match_parser.rb +24 -0
  99. data/lib/moodle2cc/moodle2/parsers/question_parsers/multianswer_parser.rb +21 -0
  100. data/lib/moodle2cc/moodle2/parsers/question_parsers/multichoice_parser.rb +16 -0
  101. data/lib/moodle2cc/moodle2/parsers/question_parsers/numerical_parser.rb +24 -0
  102. data/lib/moodle2cc/moodle2/parsers/question_parsers/question_parser.rb +51 -0
  103. data/lib/moodle2cc/moodle2/parsers/question_parsers/random_sa_parser.rb +17 -0
  104. data/lib/moodle2cc/moodle2/parsers/question_parsers/short_answer_parser.rb +16 -0
  105. data/lib/moodle2cc/moodle2/parsers/question_parsers/true_false_parser.rb +20 -0
  106. data/lib/moodle2cc/moodle2/parsers/quiz_parser.rb +87 -0
  107. data/lib/moodle2cc/moodle2/parsers/resource_parser.rb +54 -0
  108. data/lib/moodle2cc/moodle2/parsers/section_parser.rb +48 -0
  109. data/lib/moodle2cc/moodle2converter/assessment_converter.rb +31 -0
  110. data/lib/moodle2cc/moodle2converter/assignment_converter.rb +23 -0
  111. data/lib/moodle2cc/moodle2converter/book_converter.rb +97 -0
  112. data/lib/moodle2cc/moodle2converter/converter_helper.rb +68 -0
  113. data/lib/moodle2cc/moodle2converter/course_converter.rb +18 -0
  114. data/lib/moodle2cc/moodle2converter/discussion_converter.rb +18 -0
  115. data/lib/moodle2cc/moodle2converter/file_converter.rb +14 -0
  116. data/lib/moodle2cc/moodle2converter/folder_converter.rb +50 -0
  117. data/lib/moodle2cc/moodle2converter/glossary_converter.rb +36 -0
  118. data/lib/moodle2cc/moodle2converter/html_converter.rb +96 -0
  119. data/lib/moodle2cc/moodle2converter/migrator.rb +111 -0
  120. data/lib/moodle2cc/moodle2converter/page_converter.rb +16 -0
  121. data/lib/moodle2cc/moodle2converter/question_bank_converter.rb +31 -0
  122. data/lib/moodle2cc/moodle2converter/question_converters.rb +11 -0
  123. data/lib/moodle2cc/moodle2converter/question_converters/calculated_converter.rb +17 -0
  124. data/lib/moodle2cc/moodle2converter/question_converters/matching_converter.rb +22 -0
  125. data/lib/moodle2cc/moodle2converter/question_converters/multiple_blanks_converter.rb +26 -0
  126. data/lib/moodle2cc/moodle2converter/question_converters/numerical_converter.rb +14 -0
  127. data/lib/moodle2cc/moodle2converter/question_converters/question_converter.rb +57 -0
  128. data/lib/moodle2cc/moodle2converter/question_converters/random_sa_converter.rb +18 -0
  129. data/lib/moodle2cc/moodle2converter/question_converters/true_false_converter.rb +20 -0
  130. data/lib/moodle2cc/moodle2converter/section_converter.rb +75 -0
  131. data/lib/moodle2cc/version.rb +1 -1
  132. data/moodle2cc.gemspec +6 -1
  133. data/spec/moodle2cc/canvas_cc/assessment_writer_spec.rb +95 -0
  134. data/spec/moodle2cc/canvas_cc/assignment_writer_spec.rb +72 -0
  135. data/spec/moodle2cc/canvas_cc/calculated_question_writer_spec.rb +81 -0
  136. data/spec/moodle2cc/canvas_cc/canvas_export_writer_spec.rb +26 -0
  137. data/spec/moodle2cc/canvas_cc/cartridge_creator_spec.rb +50 -0
  138. data/spec/moodle2cc/canvas_cc/course_setting_writer_spec.rb +47 -0
  139. data/spec/moodle2cc/canvas_cc/discussion_writer_spec.rb +38 -0
  140. data/spec/moodle2cc/canvas_cc/essay_question_writer_spec.rb +31 -0
  141. data/spec/moodle2cc/canvas_cc/file_meta_writer_spec.rb +57 -0
  142. data/spec/moodle2cc/canvas_cc/ims_manifest_generator_spec.rb +141 -0
  143. data/spec/moodle2cc/canvas_cc/matching_question_writer_spec.rb +51 -0
  144. data/spec/moodle2cc/canvas_cc/models/assessment_spec.rb +78 -0
  145. data/spec/moodle2cc/canvas_cc/models/assignment_spec.rb +45 -0
  146. data/spec/moodle2cc/canvas_cc/models/canvas_file_spec.rb +23 -0
  147. data/spec/moodle2cc/canvas_cc/models/canvas_module_spec.rb +16 -0
  148. data/spec/moodle2cc/canvas_cc/models/course_spec.rb +43 -0
  149. data/spec/moodle2cc/canvas_cc/models/discussion_spec.rb +47 -0
  150. data/spec/moodle2cc/canvas_cc/models/discussion_topic_spec.rb +7 -0
  151. data/spec/moodle2cc/canvas_cc/models/module_item_spec.rb +15 -0
  152. data/spec/moodle2cc/canvas_cc/models/page_spec.rb +28 -0
  153. data/spec/moodle2cc/canvas_cc/models/question_spec.rb +8 -0
  154. data/spec/moodle2cc/canvas_cc/models/resource_spec.rb +17 -0
  155. data/spec/moodle2cc/canvas_cc/models/web_content_spec.rb +7 -0
  156. data/spec/moodle2cc/canvas_cc/models/web_link_spec.rb +9 -0
  157. data/spec/moodle2cc/canvas_cc/module_meta_writer_spec.rb +118 -0
  158. data/spec/moodle2cc/canvas_cc/multiple_blanks_question_writer_spec.rb +77 -0
  159. data/spec/moodle2cc/canvas_cc/multiple_choice_question_writer_spec.rb +69 -0
  160. data/spec/moodle2cc/canvas_cc/numerical_question_writer_spec.rb +69 -0
  161. data/spec/moodle2cc/canvas_cc/page_writer_spec.rb +29 -0
  162. data/spec/moodle2cc/canvas_cc/question_bank_writer_spec.rb +43 -0
  163. data/spec/moodle2cc/canvas_cc/question_writer_spec.rb +129 -0
  164. data/spec/moodle2cc/canvas_cc/short_answer_question_writer_spec.rb +50 -0
  165. data/spec/moodle2cc/canvas_cc/text_only_question_writer_spec.rb +23 -0
  166. data/spec/moodle2cc/canvas_cc/true_false_question_writer_spec.rb +62 -0
  167. data/spec/moodle2cc/moodle2/extractor_spec.rb +175 -0
  168. data/spec/moodle2cc/moodle2/models/assignment_spec.rb +36 -0
  169. data/spec/moodle2cc/moodle2/models/book_chapter_spec.rb +11 -0
  170. data/spec/moodle2cc/moodle2/models/book_spec.rb +13 -0
  171. data/spec/moodle2cc/moodle2/models/course_spec.rb +67 -0
  172. data/spec/moodle2cc/moodle2/models/external_url_spec.rb +18 -0
  173. data/spec/moodle2cc/moodle2/models/folder_spec.rb +16 -0
  174. data/spec/moodle2cc/moodle2/models/forum_spec.rb +30 -0
  175. data/spec/moodle2cc/moodle2/models/glossary_entry_spec.rb +25 -0
  176. data/spec/moodle2cc/moodle2/models/glossary_spec.rb +35 -0
  177. data/spec/moodle2cc/moodle2/models/label_spec.rb +13 -0
  178. data/spec/moodle2cc/moodle2/models/moodle2_file_spec.rb +32 -0
  179. data/spec/moodle2cc/moodle2/models/page_spec.rb +23 -0
  180. data/spec/moodle2cc/moodle2/models/quizzes/answer_spec.rb +14 -0
  181. data/spec/moodle2cc/moodle2/models/quizzes/calculated_question_spec.rb +14 -0
  182. data/spec/moodle2cc/moodle2/models/quizzes/multianswer_question_spec.rb +30 -0
  183. data/spec/moodle2cc/moodle2/models/quizzes/numerical_question_spec.rb +12 -0
  184. data/spec/moodle2cc/moodle2/models/quizzes/question_category_spec.rb +29 -0
  185. data/spec/moodle2cc/moodle2/models/quizzes/question_spec.rb +35 -0
  186. data/spec/moodle2cc/moodle2/models/quizzes/quiz_spec.rb +7 -0
  187. data/spec/moodle2cc/moodle2/models/quizzes/random_sa_question_spec.rb +12 -0
  188. data/spec/moodle2cc/moodle2/models/quizzes/true_false_question_spec.rb +16 -0
  189. data/spec/moodle2cc/moodle2/models/resource_spec.rb +22 -0
  190. data/spec/moodle2cc/moodle2/models/section_spec.rb +57 -0
  191. data/spec/moodle2cc/moodle2/parsers/answer_parser_spec.rb +18 -0
  192. data/spec/moodle2cc/moodle2/parsers/assignment_parser_spec.rb +42 -0
  193. data/spec/moodle2cc/moodle2/parsers/book_parser_spec.rb +35 -0
  194. data/spec/moodle2cc/moodle2/parsers/course_parser_spec.rb +18 -0
  195. data/spec/moodle2cc/moodle2/parsers/external_url_parser_spec.rb +26 -0
  196. data/spec/moodle2cc/moodle2/parsers/file_parser_spec.rb +35 -0
  197. data/spec/moodle2cc/moodle2/parsers/folder_parser_spec.rb +24 -0
  198. data/spec/moodle2cc/moodle2/parsers/forum_parser_spec.rb +38 -0
  199. data/spec/moodle2cc/moodle2/parsers/glossary_parser_spec.rb +60 -0
  200. data/spec/moodle2cc/moodle2/parsers/label_parser_spec.rb +21 -0
  201. data/spec/moodle2cc/moodle2/parsers/page_parser_spec.rb +25 -0
  202. data/spec/moodle2cc/moodle2/parsers/parser_helper_spec.rb +94 -0
  203. data/spec/moodle2cc/moodle2/parsers/question_category_parser_spec.rb +27 -0
  204. data/spec/moodle2cc/moodle2/parsers/question_parsers/calculated_parser_spec.rb +83 -0
  205. data/spec/moodle2cc/moodle2/parsers/question_parsers/match_parser_spec.rb +31 -0
  206. data/spec/moodle2cc/moodle2/parsers/question_parsers/multianswer_parser_spec.rb +16 -0
  207. data/spec/moodle2cc/moodle2/parsers/question_parsers/multichoice_parser_spec.rb +16 -0
  208. data/spec/moodle2cc/moodle2/parsers/question_parsers/numerical_parser_spec.rb +23 -0
  209. data/spec/moodle2cc/moodle2/parsers/question_parsers/question_parser_spec.rb +62 -0
  210. data/spec/moodle2cc/moodle2/parsers/question_parsers/random_sa_parser_spec.rb +18 -0
  211. data/spec/moodle2cc/moodle2/parsers/question_parsers/short_answer_parser_spec.rb +16 -0
  212. data/spec/moodle2cc/moodle2/parsers/question_parsers/true_false_parser_spec.rb +22 -0
  213. data/spec/moodle2cc/moodle2/parsers/quiz_parser_spec.rb +68 -0
  214. data/spec/moodle2cc/moodle2/parsers/resource_parser_spec.rb +29 -0
  215. data/spec/moodle2cc/moodle2/parsers/section_parser_spec.rb +27 -0
  216. data/spec/moodle2cc/moodle2converter/assessment_converter_spec.rb +49 -0
  217. data/spec/moodle2cc/moodle2converter/assignment_converter_spec.rb +34 -0
  218. data/spec/moodle2cc/moodle2converter/book_converter_spec.rb +132 -0
  219. data/spec/moodle2cc/moodle2converter/converter_helper_spec.rb +149 -0
  220. data/spec/moodle2cc/moodle2converter/course_converter_spec.rb +24 -0
  221. data/spec/moodle2cc/moodle2converter/discussion_converter_spec.rb +23 -0
  222. data/spec/moodle2cc/moodle2converter/file_converter_spec.rb +20 -0
  223. data/spec/moodle2cc/moodle2converter/folder_converter_spec.rb +42 -0
  224. data/spec/moodle2cc/moodle2converter/glossary_converter_spec.rb +36 -0
  225. data/spec/moodle2cc/moodle2converter/html_converter_spec.rb +186 -0
  226. data/spec/moodle2cc/moodle2converter/migrator_spec.rb +173 -0
  227. data/spec/moodle2cc/moodle2converter/page_converter_spec.rb +28 -0
  228. data/spec/moodle2cc/moodle2converter/question_bank_converter_spec.rb +44 -0
  229. data/spec/moodle2cc/moodle2converter/question_converters/calculated_converter_spec.rb +30 -0
  230. data/spec/moodle2cc/moodle2converter/question_converters/matching_converter_spec.rb +25 -0
  231. data/spec/moodle2cc/moodle2converter/question_converters/multiple_blanks_converter_spec.rb +37 -0
  232. data/spec/moodle2cc/moodle2converter/question_converters/numerical_converter_spec.rb +19 -0
  233. data/spec/moodle2cc/moodle2converter/question_converters/question_converter_spec.rb +82 -0
  234. data/spec/moodle2cc/moodle2converter/question_converters/random_sa_converter_spec.rb +20 -0
  235. data/spec/moodle2cc/moodle2converter/question_converters/true_false_converter_spec.rb +26 -0
  236. data/spec/moodle2cc/moodle2converter/section_converter_spec.rb +187 -0
  237. data/spec/spec_helper.rb +11 -0
  238. data/spec/support/shared_examples_for_models.rb +26 -0
  239. data/test/acceptance/migrator_test.rb +2 -1
  240. data/test/fixtures/common_cartridge/ims_manifest_simple.xml +45 -0
  241. data/test/fixtures/common_cartridge/schema/cccv1p0.xsd +563 -0
  242. data/test/fixtures/common_cartridge/schema/ccv1p1_imsccauth_v1p1.xsd +203 -0
  243. data/test/fixtures/common_cartridge/schema/ccv1p1_imscp_v1p2_v1p0.xsd +827 -0
  244. data/test/fixtures/common_cartridge/schema/ccv1p1_lommanifest_v1p0.xsd +822 -0
  245. data/test/fixtures/common_cartridge/schema/ccv1p1_lomresource_v1p0.xsd +273 -0
  246. data/test/fixtures/common_cartridge/schema/xml.xsd +286 -0
  247. data/test/fixtures/moodle2/SC.mbz +0 -0
  248. data/test/fixtures/moodle2/backup/activities/assign_12/assign.xml +78 -0
  249. data/test/fixtures/moodle2/backup/activities/assign_12/calendar.xml +21 -0
  250. data/test/fixtures/moodle2/backup/activities/assign_12/comments.xml +3 -0
  251. data/test/fixtures/moodle2/backup/activities/assign_12/completion.xml +3 -0
  252. data/test/fixtures/moodle2/backup/activities/assign_12/filters.xml +7 -0
  253. data/test/fixtures/moodle2/backup/activities/assign_12/grades.xml +38 -0
  254. data/test/fixtures/moodle2/backup/activities/assign_12/grading.xml +9 -0
  255. data/test/fixtures/moodle2/backup/activities/assign_12/inforef.xml +13 -0
  256. data/test/fixtures/moodle2/backup/activities/assign_12/module.xml +25 -0
  257. data/test/fixtures/moodle2/backup/activities/assign_12/roles.xml +7 -0
  258. data/test/fixtures/moodle2/backup/activities/assign_4/assign.xml +78 -0
  259. data/test/fixtures/moodle2/backup/activities/assign_4/calendar.xml +21 -0
  260. data/test/fixtures/moodle2/backup/activities/assign_4/comments.xml +3 -0
  261. data/test/fixtures/moodle2/backup/activities/assign_4/completion.xml +3 -0
  262. data/test/fixtures/moodle2/backup/activities/assign_4/filters.xml +7 -0
  263. data/test/fixtures/moodle2/backup/activities/assign_4/grades.xml +38 -0
  264. data/test/fixtures/moodle2/backup/activities/assign_4/grading.xml +9 -0
  265. data/test/fixtures/moodle2/backup/activities/assign_4/inforef.xml +13 -0
  266. data/test/fixtures/moodle2/backup/activities/assign_4/module.xml +25 -0
  267. data/test/fixtures/moodle2/backup/activities/assign_4/roles.xml +7 -0
  268. data/test/fixtures/moodle2/backup/activities/book_6/book.xml +44 -0
  269. data/test/fixtures/moodle2/backup/activities/book_6/calendar.xml +3 -0
  270. data/test/fixtures/moodle2/backup/activities/book_6/comments.xml +3 -0
  271. data/test/fixtures/moodle2/backup/activities/book_6/completion.xml +3 -0
  272. data/test/fixtures/moodle2/backup/activities/book_6/filters.xml +7 -0
  273. data/test/fixtures/moodle2/backup/activities/book_6/grades.xml +7 -0
  274. data/test/fixtures/moodle2/backup/activities/book_6/inforef.xml +3 -0
  275. data/test/fixtures/moodle2/backup/activities/book_6/module.xml +25 -0
  276. data/test/fixtures/moodle2/backup/activities/book_6/roles.xml +7 -0
  277. data/test/fixtures/moodle2/backup/activities/folder_7/calendar.xml +3 -0
  278. data/test/fixtures/moodle2/backup/activities/folder_7/comments.xml +3 -0
  279. data/test/fixtures/moodle2/backup/activities/folder_7/completion.xml +3 -0
  280. data/test/fixtures/moodle2/backup/activities/folder_7/filters.xml +7 -0
  281. data/test/fixtures/moodle2/backup/activities/folder_7/folder.xml +10 -0
  282. data/test/fixtures/moodle2/backup/activities/folder_7/grades.xml +7 -0
  283. data/test/fixtures/moodle2/backup/activities/folder_7/inforef.xml +20 -0
  284. data/test/fixtures/moodle2/backup/activities/folder_7/module.xml +25 -0
  285. data/test/fixtures/moodle2/backup/activities/folder_7/roles.xml +7 -0
  286. data/test/fixtures/moodle2/backup/activities/forum_1/calendar.xml +3 -0
  287. data/test/fixtures/moodle2/backup/activities/forum_1/comments.xml +3 -0
  288. data/test/fixtures/moodle2/backup/activities/forum_1/completion.xml +3 -0
  289. data/test/fixtures/moodle2/backup/activities/forum_1/filters.xml +7 -0
  290. data/test/fixtures/moodle2/backup/activities/forum_1/forum.xml +34 -0
  291. data/test/fixtures/moodle2/backup/activities/forum_1/grades.xml +7 -0
  292. data/test/fixtures/moodle2/backup/activities/forum_1/inforef.xml +3 -0
  293. data/test/fixtures/moodle2/backup/activities/forum_1/module.xml +25 -0
  294. data/test/fixtures/moodle2/backup/activities/forum_1/roles.xml +7 -0
  295. data/test/fixtures/moodle2/backup/activities/forum_13/calendar.xml +3 -0
  296. data/test/fixtures/moodle2/backup/activities/forum_13/comments.xml +3 -0
  297. data/test/fixtures/moodle2/backup/activities/forum_13/completion.xml +3 -0
  298. data/test/fixtures/moodle2/backup/activities/forum_13/filters.xml +7 -0
  299. data/test/fixtures/moodle2/backup/activities/forum_13/forum.xml +34 -0
  300. data/test/fixtures/moodle2/backup/activities/forum_13/grades.xml +7 -0
  301. data/test/fixtures/moodle2/backup/activities/forum_13/inforef.xml +3 -0
  302. data/test/fixtures/moodle2/backup/activities/forum_13/module.xml +25 -0
  303. data/test/fixtures/moodle2/backup/activities/forum_13/roles.xml +7 -0
  304. data/test/fixtures/moodle2/backup/activities/glossary_8/calendar.xml +3 -0
  305. data/test/fixtures/moodle2/backup/activities/glossary_8/comments.xml +3 -0
  306. data/test/fixtures/moodle2/backup/activities/glossary_8/completion.xml +3 -0
  307. data/test/fixtures/moodle2/backup/activities/glossary_8/filters.xml +7 -0
  308. data/test/fixtures/moodle2/backup/activities/glossary_8/glossary.xml +115 -0
  309. data/test/fixtures/moodle2/backup/activities/glossary_8/grades.xml +7 -0
  310. data/test/fixtures/moodle2/backup/activities/glossary_8/inforef.xml +22 -0
  311. data/test/fixtures/moodle2/backup/activities/glossary_8/module.xml +25 -0
  312. data/test/fixtures/moodle2/backup/activities/glossary_8/roles.xml +7 -0
  313. data/test/fixtures/moodle2/backup/activities/label_11/calendar.xml +3 -0
  314. data/test/fixtures/moodle2/backup/activities/label_11/comments.xml +3 -0
  315. data/test/fixtures/moodle2/backup/activities/label_11/completion.xml +3 -0
  316. data/test/fixtures/moodle2/backup/activities/label_11/filters.xml +7 -0
  317. data/test/fixtures/moodle2/backup/activities/label_11/grades.xml +7 -0
  318. data/test/fixtures/moodle2/backup/activities/label_11/inforef.xml +3 -0
  319. data/test/fixtures/moodle2/backup/activities/label_11/label.xml +9 -0
  320. data/test/fixtures/moodle2/backup/activities/label_11/module.xml +25 -0
  321. data/test/fixtures/moodle2/backup/activities/label_11/roles.xml +7 -0
  322. data/test/fixtures/moodle2/backup/activities/page_10/calendar.xml +3 -0
  323. data/test/fixtures/moodle2/backup/activities/page_10/comments.xml +3 -0
  324. data/test/fixtures/moodle2/backup/activities/page_10/completion.xml +3 -0
  325. data/test/fixtures/moodle2/backup/activities/page_10/filters.xml +7 -0
  326. data/test/fixtures/moodle2/backup/activities/page_10/grades.xml +7 -0
  327. data/test/fixtures/moodle2/backup/activities/page_10/inforef.xml +3 -0
  328. data/test/fixtures/moodle2/backup/activities/page_10/module.xml +25 -0
  329. data/test/fixtures/moodle2/backup/activities/page_10/page.xml +16 -0
  330. data/test/fixtures/moodle2/backup/activities/page_10/roles.xml +7 -0
  331. data/test/fixtures/moodle2/backup/activities/page_2/calendar.xml +3 -0
  332. data/test/fixtures/moodle2/backup/activities/page_2/comments.xml +3 -0
  333. data/test/fixtures/moodle2/backup/activities/page_2/completion.xml +3 -0
  334. data/test/fixtures/moodle2/backup/activities/page_2/filters.xml +7 -0
  335. data/test/fixtures/moodle2/backup/activities/page_2/grades.xml +7 -0
  336. data/test/fixtures/moodle2/backup/activities/page_2/inforef.xml +14 -0
  337. data/test/fixtures/moodle2/backup/activities/page_2/module.xml +25 -0
  338. data/test/fixtures/moodle2/backup/activities/page_2/page.xml +21 -0
  339. data/test/fixtures/moodle2/backup/activities/page_2/roles.xml +7 -0
  340. data/test/fixtures/moodle2/backup/activities/questionnaire_9/calendar.xml +3 -0
  341. data/test/fixtures/moodle2/backup/activities/questionnaire_9/comments.xml +3 -0
  342. data/test/fixtures/moodle2/backup/activities/questionnaire_9/completion.xml +3 -0
  343. data/test/fixtures/moodle2/backup/activities/questionnaire_9/filters.xml +7 -0
  344. data/test/fixtures/moodle2/backup/activities/questionnaire_9/grades.xml +7 -0
  345. data/test/fixtures/moodle2/backup/activities/questionnaire_9/inforef.xml +3 -0
  346. data/test/fixtures/moodle2/backup/activities/questionnaire_9/module.xml +25 -0
  347. data/test/fixtures/moodle2/backup/activities/questionnaire_9/questionnaire.xml +245 -0
  348. data/test/fixtures/moodle2/backup/activities/questionnaire_9/roles.xml +7 -0
  349. data/test/fixtures/moodle2/backup/activities/quiz_5/calendar.xml +21 -0
  350. data/test/fixtures/moodle2/backup/activities/quiz_5/comments.xml +3 -0
  351. data/test/fixtures/moodle2/backup/activities/quiz_5/completion.xml +3 -0
  352. data/test/fixtures/moodle2/backup/activities/quiz_5/filters.xml +7 -0
  353. data/test/fixtures/moodle2/backup/activities/quiz_5/grades.xml +38 -0
  354. data/test/fixtures/moodle2/backup/activities/quiz_5/inforef.xml +21 -0
  355. data/test/fixtures/moodle2/backup/activities/quiz_5/module.xml +25 -0
  356. data/test/fixtures/moodle2/backup/activities/quiz_5/quiz.xml +108 -0
  357. data/test/fixtures/moodle2/backup/activities/quiz_5/roles.xml +7 -0
  358. data/test/fixtures/moodle2/backup/activities/resource_14/calendar.xml +3 -0
  359. data/test/fixtures/moodle2/backup/activities/resource_14/comments.xml +3 -0
  360. data/test/fixtures/moodle2/backup/activities/resource_14/completion.xml +3 -0
  361. data/test/fixtures/moodle2/backup/activities/resource_14/filters.xml +7 -0
  362. data/test/fixtures/moodle2/backup/activities/resource_14/grades.xml +7 -0
  363. data/test/fixtures/moodle2/backup/activities/resource_14/inforef.xml +11 -0
  364. data/test/fixtures/moodle2/backup/activities/resource_14/module.xml +25 -0
  365. data/test/fixtures/moodle2/backup/activities/resource_14/resource.xml +16 -0
  366. data/test/fixtures/moodle2/backup/activities/resource_14/roles.xml +7 -0
  367. data/test/fixtures/moodle2/backup/activities/resource_3/calendar.xml +3 -0
  368. data/test/fixtures/moodle2/backup/activities/resource_3/comments.xml +3 -0
  369. data/test/fixtures/moodle2/backup/activities/resource_3/completion.xml +3 -0
  370. data/test/fixtures/moodle2/backup/activities/resource_3/filters.xml +7 -0
  371. data/test/fixtures/moodle2/backup/activities/resource_3/grades.xml +7 -0
  372. data/test/fixtures/moodle2/backup/activities/resource_3/inforef.xml +11 -0
  373. data/test/fixtures/moodle2/backup/activities/resource_3/module.xml +25 -0
  374. data/test/fixtures/moodle2/backup/activities/resource_3/resource.xml +16 -0
  375. data/test/fixtures/moodle2/backup/activities/resource_3/roles.xml +7 -0
  376. data/test/fixtures/moodle2/backup/activities/url_15/calendar.xml +3 -0
  377. data/test/fixtures/moodle2/backup/activities/url_15/comments.xml +3 -0
  378. data/test/fixtures/moodle2/backup/activities/url_15/completion.xml +3 -0
  379. data/test/fixtures/moodle2/backup/activities/url_15/filters.xml +7 -0
  380. data/test/fixtures/moodle2/backup/activities/url_15/grades.xml +7 -0
  381. data/test/fixtures/moodle2/backup/activities/url_15/inforef.xml +3 -0
  382. data/test/fixtures/moodle2/backup/activities/url_15/module.xml +25 -0
  383. data/test/fixtures/moodle2/backup/activities/url_15/roles.xml +7 -0
  384. data/test/fixtures/moodle2/backup/activities/url_15/url.xml +13 -0
  385. data/test/fixtures/moodle2/backup/completion.xml +3 -0
  386. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/block.xml +13 -0
  387. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/comments.xml +3 -0
  388. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/inforef.xml +3 -0
  389. data/test/fixtures/moodle2/backup/course/blocks/calendar_upcoming_12/roles.xml +7 -0
  390. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/block.xml +13 -0
  391. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/comments.xml +3 -0
  392. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/inforef.xml +3 -0
  393. data/test/fixtures/moodle2/backup/course/blocks/news_items_11/roles.xml +7 -0
  394. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/block.xml +13 -0
  395. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/comments.xml +3 -0
  396. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/inforef.xml +3 -0
  397. data/test/fixtures/moodle2/backup/course/blocks/recent_activity_13/roles.xml +7 -0
  398. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/block.xml +13 -0
  399. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/comments.xml +3 -0
  400. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/inforef.xml +3 -0
  401. data/test/fixtures/moodle2/backup/course/blocks/search_forums_10/roles.xml +7 -0
  402. data/test/fixtures/moodle2/backup/course/calendar.xml +3 -0
  403. data/test/fixtures/moodle2/backup/course/comments.xml +3 -0
  404. data/test/fixtures/moodle2/backup/course/course.xml +37 -0
  405. data/test/fixtures/moodle2/backup/course/enrolments.xml +110 -0
  406. data/test/fixtures/moodle2/backup/course/filters.xml +7 -0
  407. data/test/fixtures/moodle2/backup/course/inforef.xml +13 -0
  408. data/test/fixtures/moodle2/backup/course/roles.xml +7 -0
  409. data/test/fixtures/moodle2/backup/files.xml +531 -0
  410. data/test/fixtures/moodle2/backup/files/50/50bf82ee23d193378b172d6656c08eebb094f006 +0 -0
  411. data/test/fixtures/moodle2/backup/files/51/516ec993971b6e2122b97d15ecc0e08c3eb03828 +0 -0
  412. data/test/fixtures/moodle2/backup/files/64/64643b3bd4274c90e293583030e549e61f4d24fb +0 -0
  413. data/test/fixtures/moodle2/backup/files/67/67859b142e5ba020a84c3166f09d59ef992379a4 +0 -0
  414. data/test/fixtures/moodle2/backup/files/7a/7a647918739d3017a4e272ad97b147b667c00fca +0 -0
  415. data/test/fixtures/moodle2/backup/files/a0/a0f324310c8d8dd9c79458986c4322f5a060a1d9 +0 -0
  416. data/test/fixtures/moodle2/backup/files/a2/a258f0bb582d111a994b35fdc84a71ed1d487310 +0 -0
  417. data/test/fixtures/moodle2/backup/gradebook.xml +57 -0
  418. data/test/fixtures/moodle2/backup/groups.xml +5 -0
  419. data/test/fixtures/moodle2/backup/moodle_backup.xml +530 -0
  420. data/test/fixtures/moodle2/backup/outcomes.xml +3 -0
  421. data/test/fixtures/moodle2/backup/questions.xml +1187 -0
  422. data/test/fixtures/moodle2/backup/roles.xml +11 -0
  423. data/test/fixtures/moodle2/backup/scales.xml +3 -0
  424. data/test/fixtures/moodle2/backup/sections/section_1/inforef.xml +3 -0
  425. data/test/fixtures/moodle2/backup/sections/section_1/section.xml +13 -0
  426. data/test/fixtures/moodle2/backup/sections/section_10/inforef.xml +3 -0
  427. data/test/fixtures/moodle2/backup/sections/section_10/section.xml +13 -0
  428. data/test/fixtures/moodle2/backup/sections/section_2/inforef.xml +3 -0
  429. data/test/fixtures/moodle2/backup/sections/section_2/section.xml +13 -0
  430. data/test/fixtures/moodle2/backup/sections/section_3/inforef.xml +3 -0
  431. data/test/fixtures/moodle2/backup/sections/section_3/section.xml +13 -0
  432. data/test/fixtures/moodle2/backup/sections/section_4/inforef.xml +3 -0
  433. data/test/fixtures/moodle2/backup/sections/section_4/section.xml +13 -0
  434. data/test/fixtures/moodle2/backup/sections/section_5/inforef.xml +3 -0
  435. data/test/fixtures/moodle2/backup/sections/section_5/section.xml +13 -0
  436. data/test/fixtures/moodle2/backup/sections/section_6/inforef.xml +3 -0
  437. data/test/fixtures/moodle2/backup/sections/section_6/section.xml +13 -0
  438. data/test/fixtures/moodle2/backup/sections/section_7/inforef.xml +3 -0
  439. data/test/fixtures/moodle2/backup/sections/section_7/section.xml +13 -0
  440. data/test/fixtures/moodle2/backup/users.xml +104 -0
  441. data/test/fixtures/moodle2/moodle2_shell.mbz +0 -0
  442. data/test/test_helper.rb +71 -0
  443. data/{lib/test → test}/test_question_helper.rb +0 -0
  444. data/{lib/test → test}/test_wiki_helper.rb +0 -0
  445. data/test/unit/canvas/assessment_test.rb +1 -1
  446. data/test/unit/canvas/assignment_test.rb +1 -1
  447. data/test/unit/canvas/converter_test.rb +1 -1
  448. data/test/unit/canvas/course_test.rb +1 -1
  449. data/test/unit/canvas/discussion_topic_test.rb +1 -1
  450. data/test/unit/canvas/label_test.rb +1 -1
  451. data/test/unit/canvas/question_bank_test.rb +1 -1
  452. data/test/unit/canvas/question_group_test.rb +1 -1
  453. data/test/unit/canvas/question_test.rb +2 -2
  454. data/test/unit/canvas/web_content_test.rb +1 -1
  455. data/test/unit/canvas/web_link_test.rb +1 -1
  456. data/test/unit/canvas/wiki_test.rb +2 -2
  457. data/test/unit/cc/assessment_test.rb +1 -1
  458. data/test/unit/cc/assignment_test.rb +1 -1
  459. data/test/unit/cc/cc_helper_test.rb +1 -1
  460. data/test/unit/cc/converter_test.rb +1 -1
  461. data/test/unit/cc/course_test.rb +1 -1
  462. data/test/unit/cc/discussion_topic_test.rb +1 -1
  463. data/test/unit/cc/label_test.rb +1 -1
  464. data/test/unit/cc/question_test.rb +2 -2
  465. data/test/unit/cc/web_content_test.rb +1 -1
  466. data/test/unit/cc/web_link_test.rb +1 -1
  467. data/test/unit/cc/wiki_test.rb +2 -2
  468. data/test/unit/migrator_test.rb +12 -1
  469. data/test/unit/moodle/backup_test.rb +1 -1
  470. data/test/unit/moodle/course_test.rb +1 -1
  471. data/test/unit/moodle/grade_item_test.rb +1 -1
  472. data/test/unit/moodle/info_test.rb +1 -1
  473. data/test/unit/moodle/mod_test.rb +1 -1
  474. data/test/unit/moodle/question_category_test.rb +1 -1
  475. data/test/unit/moodle/question_test.rb +1 -1
  476. data/test/unit/moodle/section_test.rb +1 -1
  477. data/test/unit/resource_factory_test.rb +1 -1
  478. metadata +814 -58
  479. data/lib/test/test_helper.rb +0 -44
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <outcomes_definition>
3
+ </outcomes_definition>
@@ -0,0 +1,1187 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <question_categories>
3
+ <question_category id="1">
4
+ <name>Default for Quiz Name</name>
5
+ <contextid>24</contextid>
6
+ <contextlevel>70</contextlevel>
7
+ <contextinstanceid>5</contextinstanceid>
8
+ <info>The default category for questions shared in context 'Quiz Name'.</info>
9
+ <infoformat>0</infoformat>
10
+ <stamp>10.0.21.141+140304213555+4eljji</stamp>
11
+ <parent>0</parent>
12
+ <sortorder>999</sortorder>
13
+ <questions>
14
+ </questions>
15
+ </question_category>
16
+ <question_category id="2">
17
+ <name>Default for SC</name>
18
+ <contextid>15</contextid>
19
+ <contextlevel>50</contextlevel>
20
+ <contextinstanceid>2</contextinstanceid>
21
+ <info>The default category for questions shared in context 'SC'.</info>
22
+ <infoformat>0</infoformat>
23
+ <stamp>10.0.21.141+140304213555+iMFEfs</stamp>
24
+ <parent>0</parent>
25
+ <sortorder>999</sortorder>
26
+ <questions>
27
+ <question id="1">
28
+ <parent>0</parent>
29
+ <name>Calculated Question</name>
30
+ <questiontext>&lt;p&gt;What is the perimeter of a square that is {A} x {B}&lt;/p&gt;</questiontext>
31
+ <questiontextformat>1</questiontextformat>
32
+ <generalfeedback>&lt;p&gt;General Feedback&lt;/p&gt;</generalfeedback>
33
+ <generalfeedbackformat>1</generalfeedbackformat>
34
+ <defaultmark>1.0000000</defaultmark>
35
+ <penalty>0.3333333</penalty>
36
+ <qtype>calculated</qtype>
37
+ <length>1</length>
38
+ <stamp>10.0.21.141+140304214241+vp69DG</stamp>
39
+ <version>10.0.21.141+140304214241+XHDCZX</version>
40
+ <hidden>0</hidden>
41
+ <timecreated>1393969361</timecreated>
42
+ <timemodified>1393969361</timemodified>
43
+ <createdby>2</createdby>
44
+ <modifiedby>2</modifiedby>
45
+ <plugin_qtype_calculated_question>
46
+ <answers>
47
+ <answer id="1">
48
+ <answertext>{A}*{B}</answertext>
49
+ <answerformat>0</answerformat>
50
+ <fraction>1.0000000</fraction>
51
+ <feedback>&lt;p&gt;Correct Answer Feedback&lt;/p&gt;</feedback>
52
+ <feedbackformat>1</feedbackformat>
53
+ </answer>
54
+ </answers>
55
+ <numerical_units>
56
+ </numerical_units>
57
+ <numerical_options>
58
+ <numerical_option id="1">
59
+ <showunits>3</showunits>
60
+ <unitsleft>0</unitsleft>
61
+ <unitgradingtype>0</unitgradingtype>
62
+ <unitpenalty>0.1000000</unitpenalty>
63
+ </numerical_option>
64
+ </numerical_options>
65
+ <dataset_definitions>
66
+ <dataset_definition id="1">
67
+ <category>0</category>
68
+ <name>A</name>
69
+ <type>1</type>
70
+ <options>uniform:1:10:1</options>
71
+ <itemcount>1</itemcount>
72
+ <dataset_items>
73
+ <dataset_item id="1">
74
+ <number>1</number>
75
+ <value>3.5</value>
76
+ </dataset_item>
77
+ </dataset_items>
78
+ </dataset_definition>
79
+ <dataset_definition id="2">
80
+ <category>0</category>
81
+ <name>B</name>
82
+ <type>1</type>
83
+ <options>uniform:1:10:1</options>
84
+ <itemcount>1</itemcount>
85
+ <dataset_items>
86
+ <dataset_item id="2">
87
+ <number>1</number>
88
+ <value>3.1</value>
89
+ </dataset_item>
90
+ </dataset_items>
91
+ </dataset_definition>
92
+ </dataset_definitions>
93
+ <calculated_records>
94
+ <calculated_record id="1">
95
+ <answer>1</answer>
96
+ <tolerance>0.01</tolerance>
97
+ <tolerancetype>1</tolerancetype>
98
+ <correctanswerlength>2</correctanswerlength>
99
+ <correctanswerformat>1</correctanswerformat>
100
+ </calculated_record>
101
+ </calculated_records>
102
+ <calculated_options>
103
+ <calculated_option id="1">
104
+ <synchronize>0</synchronize>
105
+ <single>0</single>
106
+ <shuffleanswers>1</shuffleanswers>
107
+ <correctfeedback></correctfeedback>
108
+ <correctfeedbackformat>0</correctfeedbackformat>
109
+ <partiallycorrectfeedback></partiallycorrectfeedback>
110
+ <partiallycorrectfeedbackformat>0</partiallycorrectfeedbackformat>
111
+ <incorrectfeedback></incorrectfeedback>
112
+ <incorrectfeedbackformat>0</incorrectfeedbackformat>
113
+ <answernumbering>abc</answernumbering>
114
+ </calculated_option>
115
+ </calculated_options>
116
+ </plugin_qtype_calculated_question>
117
+ <question_hints>
118
+ </question_hints>
119
+ <tags>
120
+ </tags>
121
+ </question>
122
+ <question id="2">
123
+ <parent>0</parent>
124
+ <name>Calculated Multiple Choice</name>
125
+ <questiontext>&lt;p&gt;What is the Perimeter of a square that is {A} x {B}?&lt;/p&gt;</questiontext>
126
+ <questiontextformat>1</questiontextformat>
127
+ <generalfeedback>&lt;p&gt;General Feedback&lt;/p&gt;</generalfeedback>
128
+ <generalfeedbackformat>1</generalfeedbackformat>
129
+ <defaultmark>1.0000000</defaultmark>
130
+ <penalty>0.3333333</penalty>
131
+ <qtype>calculatedmulti</qtype>
132
+ <length>1</length>
133
+ <stamp>10.0.21.141+140304214608+jB8GoP</stamp>
134
+ <version>10.0.21.141+140304214608+ud0uPZ</version>
135
+ <hidden>0</hidden>
136
+ <timecreated>1393969568</timecreated>
137
+ <timemodified>1393969568</timemodified>
138
+ <createdby>2</createdby>
139
+ <modifiedby>2</modifiedby>
140
+ <plugin_qtype_calculatedmulti_question>
141
+ <answers>
142
+ <answer id="2">
143
+ <answertext>{A}*{B}</answertext>
144
+ <answerformat>1</answerformat>
145
+ <fraction>1.0000000</fraction>
146
+ <feedback></feedback>
147
+ <feedbackformat>1</feedbackformat>
148
+ </answer>
149
+ <answer id="3">
150
+ <answertext>{A}+{B}</answertext>
151
+ <answerformat>1</answerformat>
152
+ <fraction>0.0000000</fraction>
153
+ <feedback></feedback>
154
+ <feedbackformat>1</feedbackformat>
155
+ </answer>
156
+ </answers>
157
+ <numerical_units>
158
+ </numerical_units>
159
+ <numerical_options>
160
+ </numerical_options>
161
+ <dataset_definitions>
162
+ <dataset_definition id="3">
163
+ <category>0</category>
164
+ <name>A</name>
165
+ <type>1</type>
166
+ <options>uniform:1:10:1</options>
167
+ <itemcount>1</itemcount>
168
+ <dataset_items>
169
+ <dataset_item id="3">
170
+ <number>1</number>
171
+ <value>5.1</value>
172
+ </dataset_item>
173
+ </dataset_items>
174
+ </dataset_definition>
175
+ <dataset_definition id="4">
176
+ <category>0</category>
177
+ <name>B</name>
178
+ <type>1</type>
179
+ <options>uniform:1:10:1</options>
180
+ <itemcount>1</itemcount>
181
+ <dataset_items>
182
+ <dataset_item id="4">
183
+ <number>1</number>
184
+ <value>7.1</value>
185
+ </dataset_item>
186
+ </dataset_items>
187
+ </dataset_definition>
188
+ </dataset_definitions>
189
+ <calculated_records>
190
+ <calculated_record id="2">
191
+ <answer>2</answer>
192
+ <tolerance>0.01</tolerance>
193
+ <tolerancetype>1</tolerancetype>
194
+ <correctanswerlength>2</correctanswerlength>
195
+ <correctanswerformat>1</correctanswerformat>
196
+ </calculated_record>
197
+ <calculated_record id="3">
198
+ <answer>3</answer>
199
+ <tolerance>0.01</tolerance>
200
+ <tolerancetype>1</tolerancetype>
201
+ <correctanswerlength>2</correctanswerlength>
202
+ <correctanswerformat>1</correctanswerformat>
203
+ </calculated_record>
204
+ </calculated_records>
205
+ <calculated_options>
206
+ <calculated_option id="2">
207
+ <synchronize>0</synchronize>
208
+ <single>1</single>
209
+ <shuffleanswers>1</shuffleanswers>
210
+ <correctfeedback></correctfeedback>
211
+ <correctfeedbackformat>1</correctfeedbackformat>
212
+ <partiallycorrectfeedback></partiallycorrectfeedback>
213
+ <partiallycorrectfeedbackformat>1</partiallycorrectfeedbackformat>
214
+ <incorrectfeedback></incorrectfeedback>
215
+ <incorrectfeedbackformat>1</incorrectfeedbackformat>
216
+ <answernumbering>abc</answernumbering>
217
+ </calculated_option>
218
+ </calculated_options>
219
+ </plugin_qtype_calculatedmulti_question>
220
+ <question_hints>
221
+ </question_hints>
222
+ <tags>
223
+ </tags>
224
+ </question>
225
+ <question id="3">
226
+ <parent>0</parent>
227
+ <name>Calculated Simple</name>
228
+ <questiontext>&lt;p&gt;What is the area of a square with side of {A}&lt;/p&gt;</questiontext>
229
+ <questiontextformat>1</questiontextformat>
230
+ <generalfeedback>&lt;p&gt;General feedback&lt;/p&gt;</generalfeedback>
231
+ <generalfeedbackformat>1</generalfeedbackformat>
232
+ <defaultmark>1.0000000</defaultmark>
233
+ <penalty>0.3333333</penalty>
234
+ <qtype>calculatedsimple</qtype>
235
+ <length>1</length>
236
+ <stamp>10.0.21.141+140304214821+yEsaRa</stamp>
237
+ <version>10.0.21.141+140304214821+mnp9Yp</version>
238
+ <hidden>0</hidden>
239
+ <timecreated>1393969701</timecreated>
240
+ <timemodified>1393969701</timemodified>
241
+ <createdby>2</createdby>
242
+ <modifiedby>2</modifiedby>
243
+ <plugin_qtype_calculatedsimple_question>
244
+ <answers>
245
+ <answer id="4">
246
+ <answertext>{A}*{A}</answertext>
247
+ <answerformat>0</answerformat>
248
+ <fraction>1.0000000</fraction>
249
+ <feedback></feedback>
250
+ <feedbackformat>1</feedbackformat>
251
+ </answer>
252
+ </answers>
253
+ <numerical_units>
254
+ </numerical_units>
255
+ <numerical_options>
256
+ <numerical_option id="2">
257
+ <showunits>3</showunits>
258
+ <unitsleft>0</unitsleft>
259
+ <unitgradingtype>0</unitgradingtype>
260
+ <unitpenalty>0.1000000</unitpenalty>
261
+ </numerical_option>
262
+ </numerical_options>
263
+ <dataset_definitions>
264
+ <dataset_definition id="5">
265
+ <category>0</category>
266
+ <name>A</name>
267
+ <type>1</type>
268
+ <options>uniform:1.0:10.0:1</options>
269
+ <itemcount>1</itemcount>
270
+ <dataset_items>
271
+ <dataset_item id="5">
272
+ <number>1</number>
273
+ <value>3.6</value>
274
+ </dataset_item>
275
+ </dataset_items>
276
+ </dataset_definition>
277
+ </dataset_definitions>
278
+ <calculated_records>
279
+ <calculated_record id="4">
280
+ <answer>4</answer>
281
+ <tolerance>0.01</tolerance>
282
+ <tolerancetype>1</tolerancetype>
283
+ <correctanswerlength>2</correctanswerlength>
284
+ <correctanswerformat>1</correctanswerformat>
285
+ </calculated_record>
286
+ </calculated_records>
287
+ <calculated_options>
288
+ </calculated_options>
289
+ </plugin_qtype_calculatedsimple_question>
290
+ <question_hints>
291
+ </question_hints>
292
+ <tags>
293
+ </tags>
294
+ </question>
295
+ <question id="4">
296
+ <parent>0</parent>
297
+ <name>Embeded Answers (Cloze)</name>
298
+ <questiontext>&lt;pre&gt;Match the following cities with the correct state:
299
+ * San Francisco: {#1}
300
+ * Tucson: {#2}
301
+ * Los Angeles: {#3}
302
+ * Phoenix: {#4}
303
+ The capital of France is {#5}.&lt;/pre&gt;</questiontext>
304
+ <questiontextformat>1</questiontextformat>
305
+ <generalfeedback>&lt;p&gt;General Feedback&lt;/p&gt;</generalfeedback>
306
+ <generalfeedbackformat>1</generalfeedbackformat>
307
+ <defaultmark>5.0000000</defaultmark>
308
+ <penalty>0.3333333</penalty>
309
+ <qtype>multianswer</qtype>
310
+ <length>1</length>
311
+ <stamp>10.0.21.141+140304214936+jF8zMq</stamp>
312
+ <version>10.0.21.141+140304214936+fnp7LO</version>
313
+ <hidden>0</hidden>
314
+ <timecreated>1393969776</timecreated>
315
+ <timemodified>1393969776</timemodified>
316
+ <createdby>2</createdby>
317
+ <modifiedby>2</modifiedby>
318
+ <plugin_qtype_multianswer_question>
319
+ <answers>
320
+ </answers>
321
+ <multianswer id="1">
322
+ <question>4</question>
323
+ <sequence>5,6,7,8,9</sequence>
324
+ </multianswer>
325
+ </plugin_qtype_multianswer_question>
326
+ <question_hints>
327
+ </question_hints>
328
+ <tags>
329
+ </tags>
330
+ </question>
331
+ <question id="5">
332
+ <parent>4</parent>
333
+ <name>Embeded Answers (Cloze)</name>
334
+ <questiontext>{1:MULTICHOICE:=California#OK~Arizona#Wrong}</questiontext>
335
+ <questiontextformat>1</questiontextformat>
336
+ <generalfeedback></generalfeedback>
337
+ <generalfeedbackformat>1</generalfeedbackformat>
338
+ <defaultmark>1.0000000</defaultmark>
339
+ <penalty>0.0000000</penalty>
340
+ <qtype>multichoice</qtype>
341
+ <length>1</length>
342
+ <stamp>10.0.21.141+140304214936+WWVcBS</stamp>
343
+ <version>10.0.21.141+140304214936+iQhnFi</version>
344
+ <hidden>0</hidden>
345
+ <timecreated>1393969776</timecreated>
346
+ <timemodified>1393969776</timemodified>
347
+ <createdby>2</createdby>
348
+ <modifiedby>2</modifiedby>
349
+ <plugin_qtype_multichoice_question>
350
+ <answers>
351
+ <answer id="5">
352
+ <answertext>California</answertext>
353
+ <answerformat>1</answerformat>
354
+ <fraction>1.0000000</fraction>
355
+ <feedback>OK</feedback>
356
+ <feedbackformat>1</feedbackformat>
357
+ </answer>
358
+ <answer id="6">
359
+ <answertext>Arizona</answertext>
360
+ <answerformat>1</answerformat>
361
+ <fraction>0.0000000</fraction>
362
+ <feedback>Wrong</feedback>
363
+ <feedbackformat>1</feedbackformat>
364
+ </answer>
365
+ </answers>
366
+ <multichoice id="1">
367
+ <layout>0</layout>
368
+ <answers>5,6</answers>
369
+ <single>1</single>
370
+ <shuffleanswers>1</shuffleanswers>
371
+ <correctfeedback></correctfeedback>
372
+ <correctfeedbackformat>1</correctfeedbackformat>
373
+ <partiallycorrectfeedback></partiallycorrectfeedback>
374
+ <partiallycorrectfeedbackformat>1</partiallycorrectfeedbackformat>
375
+ <incorrectfeedback></incorrectfeedback>
376
+ <incorrectfeedbackformat>1</incorrectfeedbackformat>
377
+ <answernumbering>0</answernumbering>
378
+ <shownumcorrect>0</shownumcorrect>
379
+ </multichoice>
380
+ </plugin_qtype_multichoice_question>
381
+ <question_hints>
382
+ </question_hints>
383
+ <tags>
384
+ </tags>
385
+ </question>
386
+ <question id="6">
387
+ <parent>4</parent>
388
+ <name>Embeded Answers (Cloze)</name>
389
+ <questiontext>{1:MULTICHOICE:California#Wrong~%100%Arizona#OK}</questiontext>
390
+ <questiontextformat>1</questiontextformat>
391
+ <generalfeedback></generalfeedback>
392
+ <generalfeedbackformat>1</generalfeedbackformat>
393
+ <defaultmark>1.0000000</defaultmark>
394
+ <penalty>0.0000000</penalty>
395
+ <qtype>multichoice</qtype>
396
+ <length>1</length>
397
+ <stamp>10.0.21.141+140304214936+MlonL9</stamp>
398
+ <version>10.0.21.141+140304214936+thlZ1a</version>
399
+ <hidden>0</hidden>
400
+ <timecreated>1393969776</timecreated>
401
+ <timemodified>1393969776</timemodified>
402
+ <createdby>2</createdby>
403
+ <modifiedby>2</modifiedby>
404
+ <plugin_qtype_multichoice_question>
405
+ <answers>
406
+ <answer id="7">
407
+ <answertext>California</answertext>
408
+ <answerformat>1</answerformat>
409
+ <fraction>0.0000000</fraction>
410
+ <feedback>Wrong</feedback>
411
+ <feedbackformat>1</feedbackformat>
412
+ </answer>
413
+ <answer id="8">
414
+ <answertext>Arizona</answertext>
415
+ <answerformat>1</answerformat>
416
+ <fraction>1.0000000</fraction>
417
+ <feedback>OK</feedback>
418
+ <feedbackformat>1</feedbackformat>
419
+ </answer>
420
+ </answers>
421
+ <multichoice id="2">
422
+ <layout>0</layout>
423
+ <answers>7,8</answers>
424
+ <single>1</single>
425
+ <shuffleanswers>1</shuffleanswers>
426
+ <correctfeedback></correctfeedback>
427
+ <correctfeedbackformat>1</correctfeedbackformat>
428
+ <partiallycorrectfeedback></partiallycorrectfeedback>
429
+ <partiallycorrectfeedbackformat>1</partiallycorrectfeedbackformat>
430
+ <incorrectfeedback></incorrectfeedback>
431
+ <incorrectfeedbackformat>1</incorrectfeedbackformat>
432
+ <answernumbering>0</answernumbering>
433
+ <shownumcorrect>0</shownumcorrect>
434
+ </multichoice>
435
+ </plugin_qtype_multichoice_question>
436
+ <question_hints>
437
+ </question_hints>
438
+ <tags>
439
+ </tags>
440
+ </question>
441
+ <question id="7">
442
+ <parent>4</parent>
443
+ <name>Embeded Answers (Cloze)</name>
444
+ <questiontext>{1:MULTICHOICE:=California#OK~Arizona#Wrong}</questiontext>
445
+ <questiontextformat>1</questiontextformat>
446
+ <generalfeedback></generalfeedback>
447
+ <generalfeedbackformat>1</generalfeedbackformat>
448
+ <defaultmark>1.0000000</defaultmark>
449
+ <penalty>0.0000000</penalty>
450
+ <qtype>multichoice</qtype>
451
+ <length>1</length>
452
+ <stamp>10.0.21.141+140304214936+SgAcEL</stamp>
453
+ <version>10.0.21.141+140304214936+A1nyV3</version>
454
+ <hidden>0</hidden>
455
+ <timecreated>1393969776</timecreated>
456
+ <timemodified>1393969776</timemodified>
457
+ <createdby>2</createdby>
458
+ <modifiedby>2</modifiedby>
459
+ <plugin_qtype_multichoice_question>
460
+ <answers>
461
+ <answer id="9">
462
+ <answertext>California</answertext>
463
+ <answerformat>1</answerformat>
464
+ <fraction>1.0000000</fraction>
465
+ <feedback>OK</feedback>
466
+ <feedbackformat>1</feedbackformat>
467
+ </answer>
468
+ <answer id="10">
469
+ <answertext>Arizona</answertext>
470
+ <answerformat>1</answerformat>
471
+ <fraction>0.0000000</fraction>
472
+ <feedback>Wrong</feedback>
473
+ <feedbackformat>1</feedbackformat>
474
+ </answer>
475
+ </answers>
476
+ <multichoice id="3">
477
+ <layout>0</layout>
478
+ <answers>9,10</answers>
479
+ <single>1</single>
480
+ <shuffleanswers>1</shuffleanswers>
481
+ <correctfeedback></correctfeedback>
482
+ <correctfeedbackformat>1</correctfeedbackformat>
483
+ <partiallycorrectfeedback></partiallycorrectfeedback>
484
+ <partiallycorrectfeedbackformat>1</partiallycorrectfeedbackformat>
485
+ <incorrectfeedback></incorrectfeedback>
486
+ <incorrectfeedbackformat>1</incorrectfeedbackformat>
487
+ <answernumbering>0</answernumbering>
488
+ <shownumcorrect>0</shownumcorrect>
489
+ </multichoice>
490
+ </plugin_qtype_multichoice_question>
491
+ <question_hints>
492
+ </question_hints>
493
+ <tags>
494
+ </tags>
495
+ </question>
496
+ <question id="8">
497
+ <parent>4</parent>
498
+ <name>Embeded Answers (Cloze)</name>
499
+ <questiontext>{1:MULTICHOICE:%0%California#Wrong~=Arizona#OK}</questiontext>
500
+ <questiontextformat>1</questiontextformat>
501
+ <generalfeedback></generalfeedback>
502
+ <generalfeedbackformat>1</generalfeedbackformat>
503
+ <defaultmark>1.0000000</defaultmark>
504
+ <penalty>0.0000000</penalty>
505
+ <qtype>multichoice</qtype>
506
+ <length>1</length>
507
+ <stamp>10.0.21.141+140304214936+NIN2Vv</stamp>
508
+ <version>10.0.21.141+140304214936+B8dc9m</version>
509
+ <hidden>0</hidden>
510
+ <timecreated>1393969776</timecreated>
511
+ <timemodified>1393969776</timemodified>
512
+ <createdby>2</createdby>
513
+ <modifiedby>2</modifiedby>
514
+ <plugin_qtype_multichoice_question>
515
+ <answers>
516
+ <answer id="11">
517
+ <answertext>California</answertext>
518
+ <answerformat>1</answerformat>
519
+ <fraction>0.0000000</fraction>
520
+ <feedback>Wrong</feedback>
521
+ <feedbackformat>1</feedbackformat>
522
+ </answer>
523
+ <answer id="12">
524
+ <answertext>Arizona</answertext>
525
+ <answerformat>1</answerformat>
526
+ <fraction>1.0000000</fraction>
527
+ <feedback>OK</feedback>
528
+ <feedbackformat>1</feedbackformat>
529
+ </answer>
530
+ </answers>
531
+ <multichoice id="4">
532
+ <layout>0</layout>
533
+ <answers>11,12</answers>
534
+ <single>1</single>
535
+ <shuffleanswers>1</shuffleanswers>
536
+ <correctfeedback></correctfeedback>
537
+ <correctfeedbackformat>1</correctfeedbackformat>
538
+ <partiallycorrectfeedback></partiallycorrectfeedback>
539
+ <partiallycorrectfeedbackformat>1</partiallycorrectfeedbackformat>
540
+ <incorrectfeedback></incorrectfeedback>
541
+ <incorrectfeedbackformat>1</incorrectfeedbackformat>
542
+ <answernumbering>0</answernumbering>
543
+ <shownumcorrect>0</shownumcorrect>
544
+ </multichoice>
545
+ </plugin_qtype_multichoice_question>
546
+ <question_hints>
547
+ </question_hints>
548
+ <tags>
549
+ </tags>
550
+ </question>
551
+ <question id="9">
552
+ <parent>4</parent>
553
+ <name>Embeded Answers (Cloze)</name>
554
+ <questiontext>{1:SHORTANSWER:%100%Paris#Congratulations!
555
+ ~%50%Marseille#No, that is the second largest city in France (after
556
+ Paris).~*#Wrong answer. The capital of France is Paris, of course.}</questiontext>
557
+ <questiontextformat>1</questiontextformat>
558
+ <generalfeedback></generalfeedback>
559
+ <generalfeedbackformat>1</generalfeedbackformat>
560
+ <defaultmark>1.0000000</defaultmark>
561
+ <penalty>0.0000000</penalty>
562
+ <qtype>shortanswer</qtype>
563
+ <length>1</length>
564
+ <stamp>10.0.21.141+140304214936+uPuLIm</stamp>
565
+ <version>10.0.21.141+140304214936+87KWSX</version>
566
+ <hidden>0</hidden>
567
+ <timecreated>1393969776</timecreated>
568
+ <timemodified>1393969776</timemodified>
569
+ <createdby>2</createdby>
570
+ <modifiedby>2</modifiedby>
571
+ <plugin_qtype_shortanswer_question>
572
+ <answers>
573
+ <answer id="13">
574
+ <answertext>Paris</answertext>
575
+ <answerformat>0</answerformat>
576
+ <fraction>1.0000000</fraction>
577
+ <feedback>Congratulations!</feedback>
578
+ <feedbackformat>1</feedbackformat>
579
+ </answer>
580
+ <answer id="14">
581
+ <answertext>Marseille</answertext>
582
+ <answerformat>0</answerformat>
583
+ <fraction>0.5000000</fraction>
584
+ <feedback>No, that is the second largest city in France (after
585
+ Paris).</feedback>
586
+ <feedbackformat>1</feedbackformat>
587
+ </answer>
588
+ <answer id="15">
589
+ <answertext>*</answertext>
590
+ <answerformat>0</answerformat>
591
+ <fraction>0.0000000</fraction>
592
+ <feedback>Wrong answer. The capital of France is Paris, of course.</feedback>
593
+ <feedbackformat>1</feedbackformat>
594
+ </answer>
595
+ </answers>
596
+ <shortanswer id="1">
597
+ <answers>13,14,15</answers>
598
+ <usecase>0</usecase>
599
+ </shortanswer>
600
+ </plugin_qtype_shortanswer_question>
601
+ <question_hints>
602
+ </question_hints>
603
+ <tags>
604
+ </tags>
605
+ </question>
606
+ <question id="10">
607
+ <parent>0</parent>
608
+ <name>Essay Question</name>
609
+ <questiontext>&lt;p&gt;Essay Question Text&lt;/p&gt;</questiontext>
610
+ <questiontextformat>1</questiontextformat>
611
+ <generalfeedback>&lt;p&gt;General Feedback&lt;/p&gt;</generalfeedback>
612
+ <generalfeedbackformat>1</generalfeedbackformat>
613
+ <defaultmark>1.0000000</defaultmark>
614
+ <penalty>0.0000000</penalty>
615
+ <qtype>essay</qtype>
616
+ <length>1</length>
617
+ <stamp>10.0.21.141+140304215019+g9MVyY</stamp>
618
+ <version>10.0.21.141+140304215019+81m3xm</version>
619
+ <hidden>0</hidden>
620
+ <timecreated>1393969819</timecreated>
621
+ <timemodified>1393969819</timemodified>
622
+ <createdby>2</createdby>
623
+ <modifiedby>2</modifiedby>
624
+ <plugin_qtype_essay_question>
625
+ <essay id="1">
626
+ <responseformat>editor</responseformat>
627
+ <responsefieldlines>15</responsefieldlines>
628
+ <attachments>0</attachments>
629
+ <graderinfo>&lt;p&gt;Graders information&lt;/p&gt;</graderinfo>
630
+ <graderinfoformat>1</graderinfoformat>
631
+ </essay>
632
+ </plugin_qtype_essay_question>
633
+ <question_hints>
634
+ </question_hints>
635
+ <tags>
636
+ </tags>
637
+ </question>
638
+ <question id="11">
639
+ <parent>0</parent>
640
+ <name>Matching Question</name>
641
+ <questiontext>&lt;p&gt;Matching Question Text&lt;/p&gt;</questiontext>
642
+ <questiontextformat>1</questiontextformat>
643
+ <generalfeedback>&lt;p&gt;General Feedback&lt;/p&gt;</generalfeedback>
644
+ <generalfeedbackformat>1</generalfeedbackformat>
645
+ <defaultmark>1.0000000</defaultmark>
646
+ <penalty>0.3333333</penalty>
647
+ <qtype>match</qtype>
648
+ <length>1</length>
649
+ <stamp>10.0.21.141+140304215150+Fb2TUa</stamp>
650
+ <version>10.0.21.141+140304215150+faZzGF</version>
651
+ <hidden>0</hidden>
652
+ <timecreated>1393969910</timecreated>
653
+ <timemodified>1393969910</timemodified>
654
+ <createdby>2</createdby>
655
+ <modifiedby>2</modifiedby>
656
+ <plugin_qtype_match_question>
657
+ <matchoptions id="1">
658
+ <subquestions>1,2,3</subquestions>
659
+ <shuffleanswers>1</shuffleanswers>
660
+ <correctfeedback>&lt;p&gt;Correct Feedback&lt;/p&gt;</correctfeedback>
661
+ <correctfeedbackformat>1</correctfeedbackformat>
662
+ <partiallycorrectfeedback>&lt;p&gt;Partially Correct Feedback&lt;/p&gt;</partiallycorrectfeedback>
663
+ <partiallycorrectfeedbackformat>1</partiallycorrectfeedbackformat>
664
+ <incorrectfeedback>&lt;p&gt;Incorrect feedback&lt;/p&gt;</incorrectfeedback>
665
+ <incorrectfeedbackformat>1</incorrectfeedbackformat>
666
+ <shownumcorrect>0</shownumcorrect>
667
+ </matchoptions>
668
+ <matches>
669
+ <match id="1">
670
+ <code>434117402</code>
671
+ <questiontext>&lt;p&gt;Question One&lt;/p&gt;</questiontext>
672
+ <questiontextformat>1</questiontextformat>
673
+ <answertext>Answer One</answertext>
674
+ </match>
675
+ <match id="2">
676
+ <code>643261419</code>
677
+ <questiontext>&lt;p&gt;Question 2&lt;/p&gt;</questiontext>
678
+ <questiontextformat>1</questiontextformat>
679
+ <answertext>Answer 2</answertext>
680
+ </match>
681
+ <match id="3">
682
+ <code>100283645</code>
683
+ <questiontext>&lt;p&gt;Question 3&lt;/p&gt;</questiontext>
684
+ <questiontextformat>1</questiontextformat>
685
+ <answertext>Answer 3</answertext>
686
+ </match>
687
+ </matches>
688
+ </plugin_qtype_match_question>
689
+ <question_hints>
690
+ <question_hint id="1">
691
+ <hint>&lt;p&gt;Hint 1&lt;/p&gt;</hint>
692
+ <hintformat>1</hintformat>
693
+ <shownumcorrect>0</shownumcorrect>
694
+ <clearwrong>0</clearwrong>
695
+ <options>$@NULL@$</options>
696
+ </question_hint>
697
+ <question_hint id="2">
698
+ <hint>&lt;p&gt;Hint 2&lt;/p&gt;</hint>
699
+ <hintformat>1</hintformat>
700
+ <shownumcorrect>0</shownumcorrect>
701
+ <clearwrong>0</clearwrong>
702
+ <options>$@NULL@$</options>
703
+ </question_hint>
704
+ </question_hints>
705
+ <tags>
706
+ </tags>
707
+ </question>
708
+ <question id="12">
709
+ <parent>0</parent>
710
+ <name>Multiple Choice Question</name>
711
+ <questiontext>&lt;p&gt;Question Test for Multiple Choice&lt;/p&gt;</questiontext>
712
+ <questiontextformat>1</questiontextformat>
713
+ <generalfeedback>&lt;p&gt;General feedback&lt;/p&gt;</generalfeedback>
714
+ <generalfeedbackformat>1</generalfeedbackformat>
715
+ <defaultmark>1.0000000</defaultmark>
716
+ <penalty>0.3333333</penalty>
717
+ <qtype>multichoice</qtype>
718
+ <length>1</length>
719
+ <stamp>10.0.21.141+140304215356+6fE0pi</stamp>
720
+ <version>10.0.21.141+140304215356+Lhpi1D</version>
721
+ <hidden>0</hidden>
722
+ <timecreated>1393970036</timecreated>
723
+ <timemodified>1393970036</timemodified>
724
+ <createdby>2</createdby>
725
+ <modifiedby>2</modifiedby>
726
+ <plugin_qtype_multichoice_question>
727
+ <answers>
728
+ <answer id="16">
729
+ <answertext>&lt;p&gt;Answer 1 wrong&lt;/p&gt;</answertext>
730
+ <answerformat>1</answerformat>
731
+ <fraction>0.0000000</fraction>
732
+ <feedback>&lt;p&gt;answer 1 feedback&lt;/p&gt;</feedback>
733
+ <feedbackformat>1</feedbackformat>
734
+ </answer>
735
+ <answer id="17">
736
+ <answertext>&lt;p&gt;Answer 2 wrong&lt;/p&gt;</answertext>
737
+ <answerformat>1</answerformat>
738
+ <fraction>0.0000000</fraction>
739
+ <feedback>&lt;p&gt;answer 2 feedback&lt;/p&gt;</feedback>
740
+ <feedbackformat>1</feedbackformat>
741
+ </answer>
742
+ <answer id="18">
743
+ <answertext>&lt;p&gt;Answer 3 correct&lt;/p&gt;</answertext>
744
+ <answerformat>1</answerformat>
745
+ <fraction>1.0000000</fraction>
746
+ <feedback>&lt;p&gt;answer 3 feedback&lt;/p&gt;</feedback>
747
+ <feedbackformat>1</feedbackformat>
748
+ </answer>
749
+ </answers>
750
+ <multichoice id="5">
751
+ <layout>0</layout>
752
+ <answers>16,17,18</answers>
753
+ <single>1</single>
754
+ <shuffleanswers>1</shuffleanswers>
755
+ <correctfeedback>&lt;p&gt;correct feedback&lt;/p&gt;</correctfeedback>
756
+ <correctfeedbackformat>1</correctfeedbackformat>
757
+ <partiallycorrectfeedback>&lt;p&gt;partial correct feedback&lt;/p&gt;</partiallycorrectfeedback>
758
+ <partiallycorrectfeedbackformat>1</partiallycorrectfeedbackformat>
759
+ <incorrectfeedback>&lt;p&gt;incorrect feedback&lt;/p&gt;</incorrectfeedback>
760
+ <incorrectfeedbackformat>1</incorrectfeedbackformat>
761
+ <answernumbering>abc</answernumbering>
762
+ <shownumcorrect>0</shownumcorrect>
763
+ </multichoice>
764
+ </plugin_qtype_multichoice_question>
765
+ <question_hints>
766
+ <question_hint id="3">
767
+ <hint>&lt;p&gt;hint 1&lt;/p&gt;</hint>
768
+ <hintformat>1</hintformat>
769
+ <shownumcorrect>0</shownumcorrect>
770
+ <clearwrong>0</clearwrong>
771
+ <options>$@NULL@$</options>
772
+ </question_hint>
773
+ <question_hint id="4">
774
+ <hint>&lt;p&gt;hint 2&lt;/p&gt;</hint>
775
+ <hintformat>1</hintformat>
776
+ <shownumcorrect>0</shownumcorrect>
777
+ <clearwrong>0</clearwrong>
778
+ <options>$@NULL@$</options>
779
+ </question_hint>
780
+ </question_hints>
781
+ <tags>
782
+ </tags>
783
+ </question>
784
+ <question id="13">
785
+ <parent>0</parent>
786
+ <name>Numerical Question</name>
787
+ <questiontext>&lt;p&gt;Question text answer is 3&lt;/p&gt;</questiontext>
788
+ <questiontextformat>1</questiontextformat>
789
+ <generalfeedback>&lt;p&gt;general feedback&lt;/p&gt;</generalfeedback>
790
+ <generalfeedbackformat>1</generalfeedbackformat>
791
+ <defaultmark>1.0000000</defaultmark>
792
+ <penalty>0.3333333</penalty>
793
+ <qtype>numerical</qtype>
794
+ <length>1</length>
795
+ <stamp>10.0.21.141+140304215519+Ih7PG4</stamp>
796
+ <version>10.0.21.141+140304215519+JC1bwO</version>
797
+ <hidden>0</hidden>
798
+ <timecreated>1393970119</timecreated>
799
+ <timemodified>1393970119</timemodified>
800
+ <createdby>2</createdby>
801
+ <modifiedby>2</modifiedby>
802
+ <plugin_qtype_numerical_question>
803
+ <answers>
804
+ <answer id="19">
805
+ <answertext>3</answertext>
806
+ <answerformat>0</answerformat>
807
+ <fraction>1.0000000</fraction>
808
+ <feedback>&lt;p&gt;right answer&lt;/p&gt;</feedback>
809
+ <feedbackformat>1</feedbackformat>
810
+ </answer>
811
+ <answer id="20">
812
+ <answertext>10</answertext>
813
+ <answerformat>0</answerformat>
814
+ <fraction>0.0000000</fraction>
815
+ <feedback>&lt;p&gt;wrong answer&lt;/p&gt;</feedback>
816
+ <feedbackformat>1</feedbackformat>
817
+ </answer>
818
+ <answer id="21">
819
+ <answertext>1</answertext>
820
+ <answerformat>0</answerformat>
821
+ <fraction>0.0000000</fraction>
822
+ <feedback>&lt;p&gt;wrong answer&lt;/p&gt;</feedback>
823
+ <feedbackformat>1</feedbackformat>
824
+ </answer>
825
+ </answers>
826
+ <numerical_units>
827
+ </numerical_units>
828
+ <numerical_options>
829
+ <numerical_option id="3">
830
+ <showunits>3</showunits>
831
+ <unitsleft>0</unitsleft>
832
+ <unitgradingtype>0</unitgradingtype>
833
+ <unitpenalty>0.1000000</unitpenalty>
834
+ </numerical_option>
835
+ </numerical_options>
836
+ <numerical_records>
837
+ <numerical_record id="1">
838
+ <answer>19</answer>
839
+ <tolerance>1</tolerance>
840
+ </numerical_record>
841
+ <numerical_record id="2">
842
+ <answer>20</answer>
843
+ <tolerance>0</tolerance>
844
+ </numerical_record>
845
+ <numerical_record id="3">
846
+ <answer>21</answer>
847
+ <tolerance>0</tolerance>
848
+ </numerical_record>
849
+ </numerical_records>
850
+ </plugin_qtype_numerical_question>
851
+ <question_hints>
852
+ </question_hints>
853
+ <tags>
854
+ </tags>
855
+ </question>
856
+ <question id="14">
857
+ <parent>0</parent>
858
+ <name>Short Answer Question</name>
859
+ <questiontext>&lt;p&gt;Question text&lt;/p&gt;</questiontext>
860
+ <questiontextformat>1</questiontextformat>
861
+ <generalfeedback>&lt;p&gt;feedback&lt;/p&gt;</generalfeedback>
862
+ <generalfeedbackformat>1</generalfeedbackformat>
863
+ <defaultmark>1.0000000</defaultmark>
864
+ <penalty>0.3333333</penalty>
865
+ <qtype>shortanswer</qtype>
866
+ <length>1</length>
867
+ <stamp>10.0.21.141+140304215722+AVR9OG</stamp>
868
+ <version>10.0.21.141+140304215722+kGf67d</version>
869
+ <hidden>0</hidden>
870
+ <timecreated>1393970242</timecreated>
871
+ <timemodified>1393970242</timemodified>
872
+ <createdby>2</createdby>
873
+ <modifiedby>2</modifiedby>
874
+ <plugin_qtype_shortanswer_question>
875
+ <answers>
876
+ <answer id="22">
877
+ <answertext>ping pong</answertext>
878
+ <answerformat>0</answerformat>
879
+ <fraction>1.0000000</fraction>
880
+ <feedback>&lt;p&gt;corrent&lt;/p&gt;</feedback>
881
+ <feedbackformat>1</feedbackformat>
882
+ </answer>
883
+ <answer id="23">
884
+ <answertext>tennis</answertext>
885
+ <answerformat>0</answerformat>
886
+ <fraction>0.0000000</fraction>
887
+ <feedback></feedback>
888
+ <feedbackformat>1</feedbackformat>
889
+ </answer>
890
+ </answers>
891
+ <shortanswer id="2">
892
+ <answers>22,23</answers>
893
+ <usecase>0</usecase>
894
+ </shortanswer>
895
+ </plugin_qtype_shortanswer_question>
896
+ <question_hints>
897
+ </question_hints>
898
+ <tags>
899
+ </tags>
900
+ </question>
901
+ <question id="15">
902
+ <parent>0</parent>
903
+ <name>True/False Question</name>
904
+ <questiontext>&lt;p&gt;True == True&lt;/p&gt;</questiontext>
905
+ <questiontextformat>1</questiontextformat>
906
+ <generalfeedback>&lt;p&gt;feedback&lt;/p&gt;</generalfeedback>
907
+ <generalfeedbackformat>1</generalfeedbackformat>
908
+ <defaultmark>1.0000000</defaultmark>
909
+ <penalty>1.0000000</penalty>
910
+ <qtype>truefalse</qtype>
911
+ <length>1</length>
912
+ <stamp>10.0.21.141+140304215800+p3jSSa</stamp>
913
+ <version>10.0.21.141+140304215801+FQKIDE</version>
914
+ <hidden>0</hidden>
915
+ <timecreated>1393970280</timecreated>
916
+ <timemodified>1393970280</timemodified>
917
+ <createdby>2</createdby>
918
+ <modifiedby>2</modifiedby>
919
+ <plugin_qtype_truefalse_question>
920
+ <answers>
921
+ <answer id="24">
922
+ <answertext>True</answertext>
923
+ <answerformat>0</answerformat>
924
+ <fraction>1.0000000</fraction>
925
+ <feedback>&lt;p&gt;Correct&lt;/p&gt;</feedback>
926
+ <feedbackformat>1</feedbackformat>
927
+ </answer>
928
+ <answer id="25">
929
+ <answertext>False</answertext>
930
+ <answerformat>0</answerformat>
931
+ <fraction>0.0000000</fraction>
932
+ <feedback>&lt;p&gt;False&lt;/p&gt;</feedback>
933
+ <feedbackformat>1</feedbackformat>
934
+ </answer>
935
+ </answers>
936
+ <truefalse id="1">
937
+ <trueanswer>24</trueanswer>
938
+ <falseanswer>25</falseanswer>
939
+ </truefalse>
940
+ </plugin_qtype_truefalse_question>
941
+ <question_hints>
942
+ </question_hints>
943
+ <tags>
944
+ </tags>
945
+ </question>
946
+ <question id="16">
947
+ <parent>0</parent>
948
+ <name>Second Short Answer</name>
949
+ <questiontext>&lt;p&gt;Second short anwser question&lt;/p&gt;</questiontext>
950
+ <questiontextformat>1</questiontextformat>
951
+ <generalfeedback></generalfeedback>
952
+ <generalfeedbackformat>1</generalfeedbackformat>
953
+ <defaultmark>1.0000000</defaultmark>
954
+ <penalty>0.3333333</penalty>
955
+ <qtype>shortanswer</qtype>
956
+ <length>1</length>
957
+ <stamp>moodle+140326221101+OL94UN</stamp>
958
+ <version>moodle+140326221101+q5QPGe</version>
959
+ <hidden>0</hidden>
960
+ <timecreated>1395871861</timecreated>
961
+ <timemodified>1395871861</timemodified>
962
+ <createdby>2</createdby>
963
+ <modifiedby>2</modifiedby>
964
+ <plugin_qtype_shortanswer_question>
965
+ <answers>
966
+ <answer id="26">
967
+ <answertext>Answer 1 text</answertext>
968
+ <answerformat>0</answerformat>
969
+ <fraction>1.0000000</fraction>
970
+ <feedback></feedback>
971
+ <feedbackformat>1</feedbackformat>
972
+ </answer>
973
+ <answer id="27">
974
+ <answertext>Answer 2 Text</answertext>
975
+ <answerformat>0</answerformat>
976
+ <fraction>0.0000000</fraction>
977
+ <feedback></feedback>
978
+ <feedbackformat>1</feedbackformat>
979
+ </answer>
980
+ </answers>
981
+ <shortanswer id="3">
982
+ <answers>26,27</answers>
983
+ <usecase>0</usecase>
984
+ </shortanswer>
985
+ </plugin_qtype_shortanswer_question>
986
+ <question_hints>
987
+ </question_hints>
988
+ <tags>
989
+ </tags>
990
+ </question>
991
+ <question id="17">
992
+ <parent>0</parent>
993
+ <name>[[randomsamatch]]</name>
994
+ <questiontext>&lt;p&gt;Random Short Answer Question&lt;/p&gt;</questiontext>
995
+ <questiontextformat>1</questiontextformat>
996
+ <generalfeedback></generalfeedback>
997
+ <generalfeedbackformat>1</generalfeedbackformat>
998
+ <defaultmark>1.0000000</defaultmark>
999
+ <penalty>0.0000000</penalty>
1000
+ <qtype>randomsamatch</qtype>
1001
+ <length>1</length>
1002
+ <stamp>moodle+140326221131+pX0JyV</stamp>
1003
+ <version>moodle+140326221131+VSHsis</version>
1004
+ <hidden>0</hidden>
1005
+ <timecreated>1395871891</timecreated>
1006
+ <timemodified>1395871891</timemodified>
1007
+ <createdby>2</createdby>
1008
+ <modifiedby>2</modifiedby>
1009
+ <plugin_qtype_randomsamatch_question>
1010
+ <randomsamatch id="1">
1011
+ <choose>2</choose>
1012
+ </randomsamatch>
1013
+ </plugin_qtype_randomsamatch_question>
1014
+ <question_hints>
1015
+ </question_hints>
1016
+ <tags>
1017
+ </tags>
1018
+ </question>
1019
+ <question id="18">
1020
+ <parent>0</parent>
1021
+ <name>Description Type Question</name>
1022
+ <questiontext>&lt;p&gt;Description type question&lt;/p&gt;</questiontext>
1023
+ <questiontextformat>1</questiontextformat>
1024
+ <generalfeedback></generalfeedback>
1025
+ <generalfeedbackformat>1</generalfeedbackformat>
1026
+ <defaultmark>0.0000000</defaultmark>
1027
+ <penalty>0.0000000</penalty>
1028
+ <qtype>description</qtype>
1029
+ <length>0</length>
1030
+ <stamp>moodle+140326221220+KHZJnv</stamp>
1031
+ <version>moodle+140326221220+GcQTpK</version>
1032
+ <hidden>0</hidden>
1033
+ <timecreated>1395871940</timecreated>
1034
+ <timemodified>1395871940</timemodified>
1035
+ <createdby>2</createdby>
1036
+ <modifiedby>2</modifiedby>
1037
+ <question_hints>
1038
+ </question_hints>
1039
+ <tags>
1040
+ </tags>
1041
+ </question>
1042
+ <question id="19">
1043
+ <parent>0</parent>
1044
+ <name>Drag and drop into image</name>
1045
+ <questiontext>&lt;p&gt;Drag and drop onto image text&lt;/p&gt;</questiontext>
1046
+ <questiontextformat>1</questiontextformat>
1047
+ <generalfeedback></generalfeedback>
1048
+ <generalfeedbackformat>1</generalfeedbackformat>
1049
+ <defaultmark>1.0000000</defaultmark>
1050
+ <penalty>0.3333333</penalty>
1051
+ <qtype>ddimageortext</qtype>
1052
+ <length>1</length>
1053
+ <stamp>moodle+140326223042+uJicMJ</stamp>
1054
+ <version>moodle+140326223042+iC2ftY</version>
1055
+ <hidden>0</hidden>
1056
+ <timecreated>1395873042</timecreated>
1057
+ <timemodified>1395873042</timemodified>
1058
+ <createdby>2</createdby>
1059
+ <modifiedby>2</modifiedby>
1060
+ <plugin_qtype_ddimageortext_question>
1061
+ <ddimageortext id="1">
1062
+ <shuffleanswers>0</shuffleanswers>
1063
+ <correctfeedback></correctfeedback>
1064
+ <correctfeedbackformat>1</correctfeedbackformat>
1065
+ <partiallycorrectfeedback></partiallycorrectfeedback>
1066
+ <partiallycorrectfeedbackformat>1</partiallycorrectfeedbackformat>
1067
+ <incorrectfeedback></incorrectfeedback>
1068
+ <incorrectfeedbackformat>1</incorrectfeedbackformat>
1069
+ <shownumcorrect>0</shownumcorrect>
1070
+ </ddimageortext>
1071
+ <drags>
1072
+ <drag id="1">
1073
+ <no>1</no>
1074
+ <draggroup>1</draggroup>
1075
+ <infinite>0</infinite>
1076
+ <label></label>
1077
+ </drag>
1078
+ <drag id="2">
1079
+ <no>2</no>
1080
+ <draggroup>1</draggroup>
1081
+ <infinite>0</infinite>
1082
+ <label></label>
1083
+ </drag>
1084
+ <drag id="3">
1085
+ <no>3</no>
1086
+ <draggroup>1</draggroup>
1087
+ <infinite>0</infinite>
1088
+ <label></label>
1089
+ </drag>
1090
+ </drags>
1091
+ <drops>
1092
+ <drop id="1">
1093
+ <no>1</no>
1094
+ <xleft>0</xleft>
1095
+ <ytop>98</ytop>
1096
+ <choice>1</choice>
1097
+ <label>drop zone 1</label>
1098
+ </drop>
1099
+ <drop id="2">
1100
+ <no>2</no>
1101
+ <xleft>250</xleft>
1102
+ <ytop>0</ytop>
1103
+ <choice>2</choice>
1104
+ <label>drop zone 2</label>
1105
+ </drop>
1106
+ <drop id="3">
1107
+ <no>3</no>
1108
+ <xleft>0</xleft>
1109
+ <ytop>0</ytop>
1110
+ <choice>3</choice>
1111
+ <label>drop zone 3</label>
1112
+ </drop>
1113
+ </drops>
1114
+ </plugin_qtype_ddimageortext_question>
1115
+ <question_hints>
1116
+ </question_hints>
1117
+ <tags>
1118
+ </tags>
1119
+ </question>
1120
+ <question id="20">
1121
+ <parent>0</parent>
1122
+ <name>Drag and Drop onto text</name>
1123
+ <questiontext>&lt;p&gt;Drag and drop onto text question text [[1]], [[2]]&lt;/p&gt;</questiontext>
1124
+ <questiontextformat>1</questiontextformat>
1125
+ <generalfeedback></generalfeedback>
1126
+ <generalfeedbackformat>1</generalfeedbackformat>
1127
+ <defaultmark>1.0000000</defaultmark>
1128
+ <penalty>0.3333333</penalty>
1129
+ <qtype>ddwtos</qtype>
1130
+ <length>1</length>
1131
+ <stamp>moodle+140326223205+RRgk54</stamp>
1132
+ <version>moodle+140326223205+LjvDMm</version>
1133
+ <hidden>0</hidden>
1134
+ <timecreated>1395873125</timecreated>
1135
+ <timemodified>1395873125</timemodified>
1136
+ <createdby>2</createdby>
1137
+ <modifiedby>2</modifiedby>
1138
+ <plugin_qtype_ddwtos_question>
1139
+ <answers>
1140
+ <answer id="28">
1141
+ <answertext>Choice 1</answertext>
1142
+ <answerformat>1</answerformat>
1143
+ <fraction>0.0000000</fraction>
1144
+ <feedback>O:8:"stdClass":2:{s:9:"draggroup";s:1:"1";s:8:"infinite";b:0;}</feedback>
1145
+ <feedbackformat>0</feedbackformat>
1146
+ </answer>
1147
+ <answer id="29">
1148
+ <answertext>Choice 2</answertext>
1149
+ <answerformat>1</answerformat>
1150
+ <fraction>0.0000000</fraction>
1151
+ <feedback>O:8:"stdClass":2:{s:9:"draggroup";s:1:"1";s:8:"infinite";b:0;}</feedback>
1152
+ <feedbackformat>0</feedbackformat>
1153
+ </answer>
1154
+ <answer id="30">
1155
+ <answertext>Choice 3</answertext>
1156
+ <answerformat>1</answerformat>
1157
+ <fraction>0.0000000</fraction>
1158
+ <feedback>O:8:"stdClass":2:{s:9:"draggroup";s:1:"2";s:8:"infinite";b:0;}</feedback>
1159
+ <feedbackformat>0</feedbackformat>
1160
+ </answer>
1161
+ <answer id="31">
1162
+ <answertext>Choice 4</answertext>
1163
+ <answerformat>1</answerformat>
1164
+ <fraction>0.0000000</fraction>
1165
+ <feedback>O:8:"stdClass":2:{s:9:"draggroup";s:1:"2";s:8:"infinite";b:0;}</feedback>
1166
+ <feedbackformat>0</feedbackformat>
1167
+ </answer>
1168
+ </answers>
1169
+ <ddwtos id="1">
1170
+ <shuffleanswers>1</shuffleanswers>
1171
+ <correctfeedback></correctfeedback>
1172
+ <correctfeedbackformat>1</correctfeedbackformat>
1173
+ <partiallycorrectfeedback></partiallycorrectfeedback>
1174
+ <partiallycorrectfeedbackformat>1</partiallycorrectfeedbackformat>
1175
+ <incorrectfeedback></incorrectfeedback>
1176
+ <incorrectfeedbackformat>1</incorrectfeedbackformat>
1177
+ <shownumcorrect>0</shownumcorrect>
1178
+ </ddwtos>
1179
+ </plugin_qtype_ddwtos_question>
1180
+ <question_hints>
1181
+ </question_hints>
1182
+ <tags>
1183
+ </tags>
1184
+ </question>
1185
+ </questions>
1186
+ </question_category>
1187
+ </question_categories>