common_core_parser 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 (345) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +7 -0
  3. data/Gemfile.lock +31 -0
  4. data/MIT-LICENSE +20 -0
  5. data/README.md +14 -0
  6. data/Rakefile +53 -0
  7. data/common_core_parser.gemspec +26 -0
  8. data/data/ELA/Domain/ELACCXMLDomain_L_1.xml +23 -0
  9. data/data/ELA/Domain/ELACCXMLDomain_L_11-12.xml +23 -0
  10. data/data/ELA/Domain/ELACCXMLDomain_L_2.xml +23 -0
  11. data/data/ELA/Domain/ELACCXMLDomain_L_3.xml +23 -0
  12. data/data/ELA/Domain/ELACCXMLDomain_L_4.xml +23 -0
  13. data/data/ELA/Domain/ELACCXMLDomain_L_5.xml +23 -0
  14. data/data/ELA/Domain/ELACCXMLDomain_L_6.xml +23 -0
  15. data/data/ELA/Domain/ELACCXMLDomain_L_7.xml +23 -0
  16. data/data/ELA/Domain/ELACCXMLDomain_L_8.xml +23 -0
  17. data/data/ELA/Domain/ELACCXMLDomain_L_9-10.xml +23 -0
  18. data/data/ELA/Domain/ELACCXMLDomain_L_K-12.xml +23 -0
  19. data/data/ELA/Domain/ELACCXMLDomain_L_K.xml +23 -0
  20. data/data/ELA/Domain/ELACCXMLDomain_RF_1.xml +23 -0
  21. data/data/ELA/Domain/ELACCXMLDomain_RF_2.xml +23 -0
  22. data/data/ELA/Domain/ELACCXMLDomain_RF_3.xml +23 -0
  23. data/data/ELA/Domain/ELACCXMLDomain_RF_4.xml +23 -0
  24. data/data/ELA/Domain/ELACCXMLDomain_RF_5.xml +23 -0
  25. data/data/ELA/Domain/ELACCXMLDomain_RF_K.xml +23 -0
  26. data/data/ELA/Domain/ELACCXMLDomain_RH_11-12.xml +23 -0
  27. data/data/ELA/Domain/ELACCXMLDomain_RH_6-8.xml +23 -0
  28. data/data/ELA/Domain/ELACCXMLDomain_RH_9-10.xml +23 -0
  29. data/data/ELA/Domain/ELACCXMLDomain_RI_1.xml +23 -0
  30. data/data/ELA/Domain/ELACCXMLDomain_RI_11-12.xml +23 -0
  31. data/data/ELA/Domain/ELACCXMLDomain_RI_2.xml +23 -0
  32. data/data/ELA/Domain/ELACCXMLDomain_RI_3.xml +23 -0
  33. data/data/ELA/Domain/ELACCXMLDomain_RI_4.xml +23 -0
  34. data/data/ELA/Domain/ELACCXMLDomain_RI_5.xml +23 -0
  35. data/data/ELA/Domain/ELACCXMLDomain_RI_6.xml +23 -0
  36. data/data/ELA/Domain/ELACCXMLDomain_RI_7.xml +23 -0
  37. data/data/ELA/Domain/ELACCXMLDomain_RI_8.xml +23 -0
  38. data/data/ELA/Domain/ELACCXMLDomain_RI_9-10.xml +23 -0
  39. data/data/ELA/Domain/ELACCXMLDomain_RI_K.xml +23 -0
  40. data/data/ELA/Domain/ELACCXMLDomain_RL_1.xml +23 -0
  41. data/data/ELA/Domain/ELACCXMLDomain_RL_11-12.xml +23 -0
  42. data/data/ELA/Domain/ELACCXMLDomain_RL_2.xml +23 -0
  43. data/data/ELA/Domain/ELACCXMLDomain_RL_3.xml +23 -0
  44. data/data/ELA/Domain/ELACCXMLDomain_RL_4.xml +23 -0
  45. data/data/ELA/Domain/ELACCXMLDomain_RL_5.xml +23 -0
  46. data/data/ELA/Domain/ELACCXMLDomain_RL_6.xml +23 -0
  47. data/data/ELA/Domain/ELACCXMLDomain_RL_7.xml +23 -0
  48. data/data/ELA/Domain/ELACCXMLDomain_RL_8.xml +23 -0
  49. data/data/ELA/Domain/ELACCXMLDomain_RL_9-10.xml +23 -0
  50. data/data/ELA/Domain/ELACCXMLDomain_RL_K.xml +23 -0
  51. data/data/ELA/Domain/ELACCXMLDomain_RST_11-12.xml +23 -0
  52. data/data/ELA/Domain/ELACCXMLDomain_RST_6-8.xml +23 -0
  53. data/data/ELA/Domain/ELACCXMLDomain_RST_9-10.xml +23 -0
  54. data/data/ELA/Domain/ELACCXMLDomain_R_K-12.xml +23 -0
  55. data/data/ELA/Domain/ELACCXMLDomain_SL_1.xml +23 -0
  56. data/data/ELA/Domain/ELACCXMLDomain_SL_11-12.xml +23 -0
  57. data/data/ELA/Domain/ELACCXMLDomain_SL_2.xml +23 -0
  58. data/data/ELA/Domain/ELACCXMLDomain_SL_3.xml +23 -0
  59. data/data/ELA/Domain/ELACCXMLDomain_SL_4.xml +23 -0
  60. data/data/ELA/Domain/ELACCXMLDomain_SL_5.xml +23 -0
  61. data/data/ELA/Domain/ELACCXMLDomain_SL_6.xml +23 -0
  62. data/data/ELA/Domain/ELACCXMLDomain_SL_7.xml +23 -0
  63. data/data/ELA/Domain/ELACCXMLDomain_SL_8.xml +23 -0
  64. data/data/ELA/Domain/ELACCXMLDomain_SL_9-10.xml +23 -0
  65. data/data/ELA/Domain/ELACCXMLDomain_SL_K-12.xml +23 -0
  66. data/data/ELA/Domain/ELACCXMLDomain_SL_K.xml +23 -0
  67. data/data/ELA/Domain/ELACCXMLDomain_WHST_11-12.xml +23 -0
  68. data/data/ELA/Domain/ELACCXMLDomain_WHST_6-8.xml +23 -0
  69. data/data/ELA/Domain/ELACCXMLDomain_WHST_9-10.xml +23 -0
  70. data/data/ELA/Domain/ELACCXMLDomain_W_1.xml +23 -0
  71. data/data/ELA/Domain/ELACCXMLDomain_W_11-12.xml +23 -0
  72. data/data/ELA/Domain/ELACCXMLDomain_W_2.xml +23 -0
  73. data/data/ELA/Domain/ELACCXMLDomain_W_3.xml +23 -0
  74. data/data/ELA/Domain/ELACCXMLDomain_W_4.xml +23 -0
  75. data/data/ELA/Domain/ELACCXMLDomain_W_5.xml +23 -0
  76. data/data/ELA/Domain/ELACCXMLDomain_W_6.xml +23 -0
  77. data/data/ELA/Domain/ELACCXMLDomain_W_7.xml +23 -0
  78. data/data/ELA/Domain/ELACCXMLDomain_W_8.xml +23 -0
  79. data/data/ELA/Domain/ELACCXMLDomain_W_9-10.xml +23 -0
  80. data/data/ELA/Domain/ELACCXMLDomain_W_K-12.xml +23 -0
  81. data/data/ELA/Domain/ELACCXMLDomain_W_K.xml +23 -0
  82. data/data/ELA/Standard Type/ELACCXMLStandardType.xml +20 -0
  83. data/data/ELA/Subject/ELACCXMLStandardDocument.xml +21 -0
  84. data/data/ELA/Subject Grade/ELACCXMLGrade1.xml +23 -0
  85. data/data/ELA/Subject Grade/ELACCXMLGrade11-12.xml +23 -0
  86. data/data/ELA/Subject Grade/ELACCXMLGrade2.xml +23 -0
  87. data/data/ELA/Subject Grade/ELACCXMLGrade3.xml +23 -0
  88. data/data/ELA/Subject Grade/ELACCXMLGrade4.xml +23 -0
  89. data/data/ELA/Subject Grade/ELACCXMLGrade5.xml +23 -0
  90. data/data/ELA/Subject Grade/ELACCXMLGrade6-8.xml +23 -0
  91. data/data/ELA/Subject Grade/ELACCXMLGrade6.xml +23 -0
  92. data/data/ELA/Subject Grade/ELACCXMLGrade7.xml +23 -0
  93. data/data/ELA/Subject Grade/ELACCXMLGrade8.xml +23 -0
  94. data/data/ELA/Subject Grade/ELACCXMLGrade9-10.xml +23 -0
  95. data/data/ELA/Subject Grade/ELACCXMLGradeK-12.xml +23 -0
  96. data/data/ELA/Subject Grade/ELACCXMLGradeK.xml +23 -0
  97. data/data/ELA-Literacy.xml +21374 -0
  98. data/data/Math.xml +11027 -0
  99. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_G_1.xml +21 -0
  100. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_MD_1.xml +21 -0
  101. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_MD_2.xml +22 -0
  102. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_MD_3.xml +22 -0
  103. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_NBT_1.xml +21 -0
  104. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_NBT_2.xml +21 -0
  105. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_NBT_3.xml +21 -0
  106. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_OA_1.xml +22 -0
  107. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_OA_2.xml +21 -0
  108. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_OA_3.xml +22 -0
  109. data/data/Mathematics/Grade1/Domain/Clusters/Math_Grade1_OA_4.xml +20 -0
  110. data/data/Mathematics/Grade1/Domain/Math_Grade1_G.xml +21 -0
  111. data/data/Mathematics/Grade1/Domain/Math_Grade1_MD.xml +21 -0
  112. data/data/Mathematics/Grade1/Domain/Math_Grade1_NBT.xml +21 -0
  113. data/data/Mathematics/Grade1/Domain/Math_Grade1_OA.xml +24 -0
  114. data/data/Mathematics/Grade1/Mathematics_Grade_1.xml +18 -0
  115. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_G_1.xml +20 -0
  116. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_MD_1.xml +22 -0
  117. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_MD_2.xml +21 -0
  118. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_MD_3.xml +20 -0
  119. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_MD_4.xml +21 -0
  120. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_NBT_1.xml +21 -0
  121. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_NBT_2.xml +20 -0
  122. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_OA_1.xml +22 -0
  123. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_OA_2.xml +22 -0
  124. data/data/Mathematics/Grade2/Domain/Clusters/Math_Grade2_OA_3.xml +21 -0
  125. data/data/Mathematics/Grade2/Domain/Math_Grade2_G.xml +21 -0
  126. data/data/Mathematics/Grade2/Domain/Math_Grade2_MD.xml +21 -0
  127. data/data/Mathematics/Grade2/Domain/Math_Grade2_NBT.xml +21 -0
  128. data/data/Mathematics/Grade2/Domain/Math_Grade2_OA.xml +24 -0
  129. data/data/Mathematics/Grade2/Mathematics_Grade_2.xml +18 -0
  130. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_G_1.xml +20 -0
  131. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_MD_1.xml +21 -0
  132. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_MD_2.xml +20 -0
  133. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_MD_3.xml +20 -0
  134. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_MD_4.xml +20 -0
  135. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_NBT_1.xml +22 -0
  136. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_NF_1.xml +22 -0
  137. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_OA_1.xml +21 -0
  138. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_OA_2.xml +20 -0
  139. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_OA_3.xml +21 -0
  140. data/data/Mathematics/Grade3/Domain/Clusters/Math_Grade3_OA_4.xml +21 -0
  141. data/data/Mathematics/Grade3/Domain/Math_Grade3_G.xml +21 -0
  142. data/data/Mathematics/Grade3/Domain/Math_Grade3_MD.xml +21 -0
  143. data/data/Mathematics/Grade3/Domain/Math_Grade3_NBT.xml +21 -0
  144. data/data/Mathematics/Grade3/Domain/Math_Grade3_NF.xml +21 -0
  145. data/data/Mathematics/Grade3/Domain/Math_Grade3_OA.xml +21 -0
  146. data/data/Mathematics/Grade3/Mathematics_Grade_3.xml +18 -0
  147. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_G_1.xml +20 -0
  148. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_MD_1.xml +21 -0
  149. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_MD_2.xml +21 -0
  150. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_MD_3.xml +21 -0
  151. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_NBT_1.xml +20 -0
  152. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_NBT_2.xml +20 -0
  153. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_NF_1.xml +21 -0
  154. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_NF_2.xml +21 -0
  155. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_NF_3.xml +21 -0
  156. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_OA_1.xml +21 -0
  157. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_OA_2.xml +21 -0
  158. data/data/Mathematics/Grade4/Domain/Clusters/Math_Grade4_OA_3.xml +21 -0
  159. data/data/Mathematics/Grade4/Domain/Math_Grade4_G.xml +21 -0
  160. data/data/Mathematics/Grade4/Domain/Math_Grade4_MD.xml +21 -0
  161. data/data/Mathematics/Grade4/Domain/Math_Grade4_NBT.xml +21 -0
  162. data/data/Mathematics/Grade4/Domain/Math_Grade4_NF.xml +21 -0
  163. data/data/Mathematics/Grade4/Domain/Math_Grade4_OA.xml +21 -0
  164. data/data/Mathematics/Grade4/Mathematics_Grade_4.xml +18 -0
  165. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_G_1.xml +20 -0
  166. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_G_2.xml +20 -0
  167. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_MD_1.xml +21 -0
  168. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_MD_2.xml +20 -0
  169. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_MD_3.xml +20 -0
  170. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_NBT_1.xml +20 -0
  171. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_NBT_2.xml +20 -0
  172. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_NF_1.xml +20 -0
  173. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_NF_2.xml +21 -0
  174. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_OA_1.xml +20 -0
  175. data/data/Mathematics/Grade5/Domain/Clusters/Math_Grade5_OA_2.xml +20 -0
  176. data/data/Mathematics/Grade5/Domain/Math_Grade5_G.xml +20 -0
  177. data/data/Mathematics/Grade5/Domain/Math_Grade5_MD.xml +20 -0
  178. data/data/Mathematics/Grade5/Domain/Math_Grade5_NBT.xml +20 -0
  179. data/data/Mathematics/Grade5/Domain/Math_Grade5_NF.xml +20 -0
  180. data/data/Mathematics/Grade5/Domain/Math_Grade5_OA.xml +20 -0
  181. data/data/Mathematics/Grade5/Mathematics_Grade_5.xml +18 -0
  182. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_EE_1.xml +20 -0
  183. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_EE_2.xml +20 -0
  184. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_EE_3.xml +20 -0
  185. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_G_1.xml +20 -0
  186. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_NS_1.xml +20 -0
  187. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_NS_2.xml +20 -0
  188. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_NS_3.xml +20 -0
  189. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_RP_1.xml +20 -0
  190. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_SP_1.xml +20 -0
  191. data/data/Mathematics/Grade6/Domain/Clusters/Math_Grade6_SP_2.xml +20 -0
  192. data/data/Mathematics/Grade6/Domain/Math_Grade6_EE.xml +20 -0
  193. data/data/Mathematics/Grade6/Domain/Math_Grade6_G.xml +21 -0
  194. data/data/Mathematics/Grade6/Domain/Math_Grade6_NS.xml +20 -0
  195. data/data/Mathematics/Grade6/Domain/Math_Grade6_RP.xml +20 -0
  196. data/data/Mathematics/Grade6/Domain/Math_Grade6_SP.xml +20 -0
  197. data/data/Mathematics/Grade6/Mathematics_Grade_6.xml +18 -0
  198. data/data/Mathematics/Grade7/Domain/Clusters/Math_Grade7_EE_1.xml +20 -0
  199. data/data/Mathematics/Grade7/Domain/Clusters/Math_Grade7_EE_2.xml +20 -0
  200. data/data/Mathematics/Grade7/Domain/Clusters/Math_Grade7_G_1.xml +20 -0
  201. data/data/Mathematics/Grade7/Domain/Clusters/Math_Grade7_G_2.xml +20 -0
  202. data/data/Mathematics/Grade7/Domain/Clusters/Math_Grade7_NS_1.xml +21 -0
  203. data/data/Mathematics/Grade7/Domain/Clusters/Math_Grade7_RP_1.xml +20 -0
  204. data/data/Mathematics/Grade7/Domain/Clusters/Math_Grade7_SP_1.xml +20 -0
  205. data/data/Mathematics/Grade7/Domain/Clusters/Math_Grade7_SP_2.xml +20 -0
  206. data/data/Mathematics/Grade7/Domain/Clusters/Math_Grade7_SP_3.xml +20 -0
  207. data/data/Mathematics/Grade7/Domain/Math_Grade7_EE.xml +20 -0
  208. data/data/Mathematics/Grade7/Domain/Math_Grade7_G.xml +20 -0
  209. data/data/Mathematics/Grade7/Domain/Math_Grade7_NS.xml +20 -0
  210. data/data/Mathematics/Grade7/Domain/Math_Grade7_RP.xml +21 -0
  211. data/data/Mathematics/Grade7/Domain/Math_Grade7_SP.xml +20 -0
  212. data/data/Mathematics/Grade7/Mathematics_Grade_7.xml +18 -0
  213. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_EE_1.xml +21 -0
  214. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_EE_2.xml +20 -0
  215. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_EE_3.xml +22 -0
  216. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_F_1.xml +20 -0
  217. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_F_2.xml +20 -0
  218. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_G_1.xml +21 -0
  219. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_G_2.xml +21 -0
  220. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_G_3.xml +20 -0
  221. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_NS_1.xml +20 -0
  222. data/data/Mathematics/Grade8/Domain/Clusters/Math_Grade8_SP_1.xml +20 -0
  223. data/data/Mathematics/Grade8/Domain/Math_Grade8_EE.xml +20 -0
  224. data/data/Mathematics/Grade8/Domain/Math_Grade8_F.xml +21 -0
  225. data/data/Mathematics/Grade8/Domain/Math_Grade8_G.xml +20 -0
  226. data/data/Mathematics/Grade8/Domain/Math_Grade8_NS.xml +20 -0
  227. data/data/Mathematics/Grade8/Domain/Math_Grade8_SP.xml +20 -0
  228. data/data/Mathematics/Grade8/Mathematics_Grade_8.xml +18 -0
  229. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_APR_1.xml +20 -0
  230. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_APR_2.xml +20 -0
  231. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_APR_3.xml +21 -0
  232. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_APR_4.xml +21 -0
  233. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_CED_1.xml +21 -0
  234. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_REI_1.xml +21 -0
  235. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_REI_2.xml +21 -0
  236. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_REI_3.xml +21 -0
  237. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_REI_4.xml +21 -0
  238. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_SSE_1.xml +20 -0
  239. data/data/Mathematics/HighSchool/Algebra/Domain/Clusters/Math_Algebra_SSE_2.xml +20 -0
  240. data/data/Mathematics/HighSchool/Algebra/Domain/Math_Algebra_APR.xml +20 -0
  241. data/data/Mathematics/HighSchool/Algebra/Domain/Math_Algebra_CED.xml +21 -0
  242. data/data/Mathematics/HighSchool/Algebra/Domain/Math_Algebra_REI.xml +21 -0
  243. data/data/Mathematics/HighSchool/Algebra/Domain/Math_Algebra_SSE.xml +21 -0
  244. data/data/Mathematics/HighSchool/Algebra/Mathematics_Algebra.xml +17 -0
  245. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_BF_1.xml +20 -0
  246. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_BF_2.xml +20 -0
  247. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_IF_1.xml +20 -0
  248. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_IF_2.xml +20 -0
  249. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_IF_3.xml +20 -0
  250. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_LQE_1.xml +20 -0
  251. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_LQE_2.xml +20 -0
  252. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_TF_1.xml +20 -0
  253. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_TF_2.xml +20 -0
  254. data/data/Mathematics/HighSchool/Functions/Domain/Clusters/Math_F_TF_3.xml +20 -0
  255. data/data/Mathematics/HighSchool/Functions/Domain/Math_F_BF.xml +20 -0
  256. data/data/Mathematics/HighSchool/Functions/Domain/Math_F_IF.xml +20 -0
  257. data/data/Mathematics/HighSchool/Functions/Domain/Math_F_LQE.xml +20 -0
  258. data/data/Mathematics/HighSchool/Functions/Domain/Math_F_TF.xml +20 -0
  259. data/data/Mathematics/HighSchool/Functions/Mathematics_Functions.xml +17 -0
  260. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_CO_1.xml +21 -0
  261. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_CO_2.xml +21 -0
  262. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_CO_3.xml +21 -0
  263. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_CO_4.xml +21 -0
  264. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_C_1.xml +20 -0
  265. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_C_2.xml +21 -0
  266. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_GMD_1.xml +22 -0
  267. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_GMD_2.xml +21 -0
  268. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_GPE_1.xml +21 -0
  269. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_GPE_2.xml +21 -0
  270. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_MG_1.xml +21 -0
  271. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_SRT_1.xml +20 -0
  272. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_SRT_2.xml +21 -0
  273. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_SRT_3.xml +21 -0
  274. data/data/Mathematics/HighSchool/Geometry/Domain/Clusters/Math_Geometry_SRT_4.xml +21 -0
  275. data/data/Mathematics/HighSchool/Geometry/Domain/Math_Geometry_C.xml +21 -0
  276. data/data/Mathematics/HighSchool/Geometry/Domain/Math_Geometry_CO.xml +21 -0
  277. data/data/Mathematics/HighSchool/Geometry/Domain/Math_Geometry_GMD.xml +21 -0
  278. data/data/Mathematics/HighSchool/Geometry/Domain/Math_Geometry_GPE.xml +21 -0
  279. data/data/Mathematics/HighSchool/Geometry/Domain/Math_Geometry_MG.xml +21 -0
  280. data/data/Mathematics/HighSchool/Geometry/Domain/Math_Geometry_SRT.xml +21 -0
  281. data/data/Mathematics/HighSchool/Geometry/Mathematics_Geometry.xml +17 -0
  282. data/data/Mathematics/HighSchool/Modeling/Domain/Clusters/Math_M_1.xml +20 -0
  283. data/data/Mathematics/HighSchool/Modeling/Mathematics_Modeling.xml +17 -0
  284. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Clusters/Math_N_CN_1.xml +21 -0
  285. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Clusters/Math_N_CN_2.xml +20 -0
  286. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Clusters/Math_N_CN_3.xml +20 -0
  287. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Clusters/Math_N_Q_1.xml +20 -0
  288. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Clusters/Math_N_RN_1.xml +22 -0
  289. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Clusters/Math_N_RN_2.xml +20 -0
  290. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Clusters/Math_N_VM_1.xml +21 -0
  291. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Clusters/Math_N_VM_2.xml +20 -0
  292. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Clusters/Math_N_VM_3.xml +20 -0
  293. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Math_N_CN.xml +21 -0
  294. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Math_N_Q.xml +20 -0
  295. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Math_N_RN.xml +21 -0
  296. data/data/Mathematics/HighSchool/Number and Quantity/Domain/Math_N_VM.xml +20 -0
  297. data/data/Mathematics/HighSchool/Number and Quantity/Mathematics_Number_and_Quantity.xml +17 -0
  298. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Clusters/Math_S_CP_1.xml +20 -0
  299. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Clusters/Math_S_CP_2.xml +20 -0
  300. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Clusters/Math_S_IC_1.xml +21 -0
  301. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Clusters/Math_S_IC_2.xml +21 -0
  302. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Clusters/Math_S_ID_1.xml +21 -0
  303. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Clusters/Math_S_ID_2.xml +21 -0
  304. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Clusters/Math_S_ID_3.xml +21 -0
  305. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Clusters/Math_S_MD_1.xml +20 -0
  306. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Clusters/Math_S_MD_2.xml +20 -0
  307. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Math_S_CP.xml +21 -0
  308. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Math_S_IC.xml +20 -0
  309. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Math_S_ID.xml +21 -0
  310. data/data/Mathematics/HighSchool/Statistics and Probability/Domain/Math_S_MD.xml +20 -0
  311. data/data/Mathematics/HighSchool/Statistics and Probability/Mathematics_Statistics_and_Probability.xml +17 -0
  312. data/data/Mathematics/Kindergarten/Domain/Clusters/Math_K_CC_1.xml +24 -0
  313. data/data/Mathematics/Kindergarten/Domain/Clusters/Math_K_CC_2.xml +24 -0
  314. data/data/Mathematics/Kindergarten/Domain/Clusters/Math_K_CC_3.xml +23 -0
  315. data/data/Mathematics/Kindergarten/Domain/Clusters/Math_K_G_1.xml +21 -0
  316. data/data/Mathematics/Kindergarten/Domain/Clusters/Math_K_G_2.xml +23 -0
  317. data/data/Mathematics/Kindergarten/Domain/Clusters/Math_K_MD_1.xml +22 -0
  318. data/data/Mathematics/Kindergarten/Domain/Clusters/Math_K_MD_2.xml +22 -0
  319. data/data/Mathematics/Kindergarten/Domain/Clusters/Math_K_NBT_1.xml +21 -0
  320. data/data/Mathematics/Kindergarten/Domain/Clusters/Math_K_OA_1.xml +23 -0
  321. data/data/Mathematics/Kindergarten/Domain/Math_K_CC.xml +25 -0
  322. data/data/Mathematics/Kindergarten/Domain/Math_K_G.xml +21 -0
  323. data/data/Mathematics/Kindergarten/Domain/Math_K_MD.xml +21 -0
  324. data/data/Mathematics/Kindergarten/Domain/Math_K_NBT.xml +21 -0
  325. data/data/Mathematics/Kindergarten/Domain/Math_K_OA.xml +22 -0
  326. data/data/Mathematics/Kindergarten/Mathematics_Kindergarten.xml +17 -0
  327. data/doc/CCSSI_ELA Standards.pdf +9781 -23
  328. data/doc/CCSSI_Math Standards.pdf +6652 -17
  329. data/lib/common_core_parser/broken_data_corrector.rb +172 -0
  330. data/lib/common_core_parser/element.rb +100 -0
  331. data/lib/common_core_parser/elements/cluster.rb +10 -0
  332. data/lib/common_core_parser/elements/component.rb +10 -0
  333. data/lib/common_core_parser/elements/domain.rb +13 -0
  334. data/lib/common_core_parser/elements/standard.rb +31 -0
  335. data/lib/common_core_parser/elements/standard_type.rb +10 -0
  336. data/lib/common_core_parser/elements/subject_grade.rb +10 -0
  337. data/lib/common_core_parser/master.rb +85 -0
  338. data/lib/common_core_parser/version.rb +3 -0
  339. data/lib/common_core_parser.rb +30 -0
  340. data/test/jenkins.bash +3 -0
  341. data/test/test_helper.rb +32 -0
  342. data/test/unit/domain_test.rb +40 -0
  343. data/test/unit/loader_test.rb +203 -0
  344. data/test/unit/standard_test.rb +91 -0
  345. metadata +477 -0
@@ -0,0 +1,203 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+
4
+ require 'test_helper'
5
+
6
+ module CommonCoreParser
7
+ class LoaderTest < ActiveSupport::TestCase
8
+
9
+ def setup
10
+ @master = Master.instance
11
+ end
12
+
13
+ test "should load math standards from xml" do
14
+ @master.load_math
15
+ assert_equal 393, @master.standards.size
16
+ @master.standards.each do |standard|
17
+ assert standard.is_a?(Standard), "#{standard} expected to be a Standard"
18
+ assert standard.valid?, "#{standard.error_message} - #{standard}"
19
+ end
20
+ end
21
+
22
+ test "should load ela standards from xml" do
23
+ @master.load_ela
24
+ assert_equal 574, @master.standards.size
25
+ @master.standards.each do |standard|
26
+ assert standard.is_a?(Standard), "#{standard} expected to be a Standard"
27
+ assert standard.valid?, "#{standard.error_message} - #{standard}"
28
+ end
29
+ end
30
+
31
+ test 'should reinitialize when loading new data set' do
32
+ @master.load_ela
33
+ ela_count = @master.elements.size
34
+ @master.load_math
35
+ math_count = @master.elements.size
36
+ assert math_count < ela_count
37
+ end
38
+
39
+ test "should load math standard components from xml" do
40
+ @master.load_math
41
+ assert_equal 124, @master.components.size
42
+ @master.components.each do |component|
43
+ assert component.is_a?(Component), "#{component} expected to be a Component"
44
+ assert component.valid?, "#{component.error_message} - #{component}"
45
+ end
46
+ end
47
+
48
+ test "should load ela standard components from xml" do
49
+ @master.load_ela
50
+ assert_equal 445, @master.components.size
51
+ @master.components.each do |component|
52
+ assert component.is_a?(Component), "#{component} expected to be a Component"
53
+ assert component.valid?, "#{component.error_message} - #{component}"
54
+ end
55
+ end
56
+
57
+ test "should load a single math domain from xml" do
58
+ @master.load_elements_from_paths(DATA_PATH+'/Mathematics/Grade1/Domain/Math_Grade1_G.xml')
59
+ assert_equal 1, @master.domains.size
60
+ @master.domains.each do |domain|
61
+ assert domain.is_a?(Domain), "#{domain} expected to be a Domain"
62
+ assert domain.valid?, "#{domain} - #{domain.error_message}"
63
+ end
64
+ end
65
+
66
+ test "should load a single math cluster from xml" do
67
+ @master.load_elements_from_paths(DATA_PATH+'/Mathematics/Grade1/Domain/Clusters/Math_Grade1_G_1.xml')
68
+ assert_equal 1, @master.clusters.size
69
+ @master.clusters.each do |cluster|
70
+ assert cluster.is_a?(Cluster), "#{cluster} expected to be a Cluster"
71
+ assert cluster.valid?, "#{cluster} - #{cluster.error_message}"
72
+ end
73
+ end
74
+
75
+ test "should load all xml files for grade 1 math" do
76
+ @master.load_elements_from_paths(DATA_PATH+'/Mathematics/Grade1/**/*.xml')
77
+ assert_equal 1, @master.subject_grades.size
78
+ assert_equal 4, @master.domains.size
79
+ assert_equal 11, @master.clusters.size
80
+ @master.subject_grades.each do |subject_grade|
81
+ assert subject_grade.is_a?(SubjectGrade), "#{subject_grade} expected to be a SubjectGrade"
82
+ assert subject_grade.valid?, "#{subject_grade} - #{subject_grade.error_message}"
83
+ end
84
+ @master.domains.each do |domain|
85
+ assert domain.is_a?(Domain), "#{domain} expected to be a Domain"
86
+ assert domain.valid?, "#{domain} - #{domain.error_message}"
87
+ end
88
+ @master.clusters.each do |cluster|
89
+ assert cluster.is_a?(Cluster), "#{cluster} expected to be a Cluster"
90
+ assert cluster.valid?, "#{cluster} - #{cluster.error_message}"
91
+ end
92
+ end
93
+
94
+ test "should load all xml files for math" do
95
+ @master.load_math
96
+ assert_equal 393, @master.standards.size
97
+ assert_equal 124, @master.components.size
98
+ assert_equal 15, @master.subject_grades.size
99
+ assert_equal 65, @master.domains.size
100
+ assert_equal 148, @master.clusters.size
101
+ @master.subject_grades.each do |subject_grade|
102
+ assert subject_grade.is_a?(SubjectGrade), "#{subject_grade} expected to be a SubjectGrade"
103
+ assert subject_grade.valid?, "#{subject_grade} - #{subject_grade.error_message}"
104
+ end
105
+ @master.domains.each do |domain|
106
+ assert domain.is_a?(Domain), "#{domain} expected to be a Domain"
107
+ assert domain.valid?, "#{domain} - #{domain.error_message}"
108
+ end
109
+ @master.clusters.each do |cluster|
110
+ assert cluster.is_a?(Cluster), "#{cluster} expected to be a Cluster"
111
+ assert cluster.valid?, "#{cluster} - #{cluster.error_message}"
112
+ end
113
+ end
114
+
115
+ test "should load all xml files for language arts" do
116
+ @master.load_ela
117
+ assert_equal 13, @master.subject_grades.size
118
+ assert_equal 74, @master.domains.size
119
+ assert_equal 1, @master.standard_types.size
120
+ @master.subject_grades.each do |subject_grade|
121
+ assert subject_grade.is_a?(SubjectGrade), "#{subject_grade} expected to be a SubjectGrade"
122
+ assert subject_grade.valid?, "#{subject_grade} - #{subject_grade.error_message}"
123
+ end
124
+ @master.domains.each do |domain|
125
+ assert domain.is_a?(Domain), "#{domain} expected to be a Domain"
126
+ assert domain.valid?, "#{domain} - #{domain.error_message}"
127
+ end
128
+ @master.standard_types.each do |standard_type|
129
+ assert standard_type.is_a?(StandardType), "#{standard_type} expected to be a StandardType"
130
+ assert standard_type.valid?,"#{standard_type} -#{standard_type.error_message}"
131
+ end
132
+ end
133
+
134
+ test "should load all xml files for math and reunite parents with children" do
135
+ @master.load_math
136
+ orphan_elements = []
137
+ @master.elements.each do |element|
138
+ next unless (element.parent_ref_id and element.parent.nil?)
139
+ next if element.parent_ref_id == 'INTENTIONALLYORPHANED'
140
+ orphan_elements << element
141
+ end
142
+ assert_equal(0,orphan_elements.size, orphan_elements.map{|element| "#{element.class}:#{element.ref_id}"})
143
+ end
144
+
145
+ test 'math standards should have a sane hierarchy' do
146
+ @master.load_math
147
+ insane_standards = []
148
+ @master.standards.each do |standard|
149
+ next if standard.parent_ref_id == 'INTENTIONALLYORPHANED'
150
+ insanity_flag_raised = false
151
+
152
+ insanity_flag_raised = true if standard.children.any? { |child| ! child.is_a?(Component) }
153
+ insanity_flag_raised = true unless insanity_flag_raised or standard.parent.is_a?(Cluster)
154
+ insanity_flag_raised = true unless insanity_flag_raised or standard.parent.parent.is_a?(Domain)
155
+ insanity_flag_raised = true unless insanity_flag_raised or standard.parent.parent.parent.is_a?(SubjectGrade)
156
+
157
+ insane_standards << standard if insanity_flag_raised
158
+ end
159
+ assert_equal(0,insane_standards.size, insane_standards.map{|standard| "#{standard.ref_id}::#{standard.code}:#{standard.parent.class}:#{standard.parent_ref_id}"})
160
+ end
161
+
162
+ test 'languange arts standards should have sane hierarchy' do
163
+ @master.load_ela
164
+ insane_standards = []
165
+ @master.standards.each do |standard|
166
+ next if standard.parent_ref_id == 'INTENTIONALLYORPHANED'
167
+ insanity_flag_raised = false
168
+
169
+ insanity_flag_raised = true if standard.children.any? { |child| ! child.is_a?(Component) }
170
+ insanity_flag_raised = true unless insanity_flag_raised or standard.parent.is_a?(Domain)
171
+ insanity_flag_raised = true unless insanity_flag_raised or standard.parent.parent.is_a?(SubjectGrade)
172
+
173
+ insane_standards << standard if insanity_flag_raised
174
+ end
175
+ assert_equal(0,insane_standards.size, insane_standards.map{|standard| "#{standard} === #{standard.parent_ref_id.blank?}=== #{standard.code.match(/CCSS\.ELA\-Literacy\.L\.3/)}"})
176
+ end
177
+
178
+ test 'elements should never have unclosed html tags or start with a closing html tag' do
179
+ @master.load_elements_from_paths(DATA_PATH+'/**/*.xml')
180
+ failing_elements = []
181
+ @master.elements.each do |element|
182
+ failing_elements << element if element.statement.match(/^<\//)
183
+ failing_elements << element if has_unclosed_html_tags?(element.statement)
184
+ end
185
+ assert_equal(0,failing_elements.size, failing_elements.map{|element| element.ref_id })
186
+ end
187
+
188
+ #######
189
+ private
190
+ #######
191
+
192
+ def has_unclosed_html_tags?(string)
193
+ [:i, :sup].each do |tag|
194
+ opens = string.match(/<#{tag}>/)
195
+ closes = string.match(/<\/#{tag}>/)
196
+ return false if opens.nil?
197
+ return true if closes.nil? or (opens.size == closes.size + 1)
198
+ raise "too many unclosed open <#{tag}> tags to deal with" if opens.size > closes.size + 1 # just in case this becomes an issue in the future so it can be identified immediately
199
+ end
200
+ return false
201
+ end
202
+ end
203
+ end
@@ -0,0 +1,91 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+
4
+ require 'test_helper'
5
+
6
+ module CommonCoreParser
7
+ class StandardTest < ActiveSupport::TestCase
8
+
9
+ # ref_id
10
+ test "should return ref_id" do
11
+ assert_equal 'CA9EE2E34F384E95A5FA26769C5864B8', math_standard.ref_id
12
+ end
13
+
14
+
15
+ # predecessor_ref_id
16
+ test "should return predecessor_ref_id" do
17
+ assert_equal '4F4106218F834258BCDDB7EB39806880', math_standard.parent_ref_id
18
+ end
19
+
20
+
21
+ # code
22
+ test "should return code" do
23
+ assert_equal 'CCSS.Math.Content.K.CC.A.1', math_standard.code
24
+ end
25
+
26
+
27
+ # statement
28
+ test "should return statement" do
29
+ assert_equal 'Count to 100 by ones and by tens.', math_standard.statement
30
+ end
31
+
32
+
33
+ # grades
34
+ test "should return grades" do
35
+ assert_equal ['K'], math_standard.grades
36
+ end
37
+
38
+ test "should return multiple grades" do
39
+ assert_equal ["K", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"], ela_standard.grades
40
+ end
41
+
42
+
43
+ # to_s
44
+ test "should return string representation of standard" do
45
+ assert_equal '<CommonCoreParser::Standard ref_id: CA9EE2E34F384E95A5FA26769C5864B8, parent_ref_id: 4F4106218F834258BCDDB7EB39806880, code: CCSS.Math.Content.K.CC.A.1, statement: Count to 100 by ones and by tens., grades: K>', math_standard.to_s
46
+ end
47
+
48
+
49
+ # valid?
50
+ test "should return true for valid?" do
51
+ assert_equal true, math_standard.valid?
52
+ end
53
+
54
+ test "should return false for valid? when statement is blank" do
55
+ saved_math_standard = math_standard
56
+ saved_math_standard.stubs(:statement).returns('')
57
+ assert_equal true, saved_math_standard.statement.blank?
58
+ assert_equal false, saved_math_standard.valid?
59
+ end
60
+
61
+
62
+ # valid_grades?
63
+ test "should return true for valid_grades?" do
64
+ assert_equal true, math_standard.valid_grades?
65
+ end
66
+
67
+ #test "should return false for valid_grade? when out of range" do
68
+ # math_standard.data.xpath('//Statements/Statement').first.inner_html = ''
69
+ #end
70
+
71
+ #######
72
+ private
73
+ #######
74
+
75
+ def math_standard
76
+ Standard.new(math_standard_xml)
77
+ end
78
+
79
+ def math_standard_xml
80
+ @math_standard_xml ||= Nokogiri::XML(File.read(DATA_PATH+'/Math.xml')).xpath('//LearningStandardItem').first
81
+ end
82
+
83
+ def ela_standard
84
+ Standard.new(ela_standard_xml)
85
+ end
86
+
87
+ def ela_standard_xml
88
+ @ela_standard_xml ||= Nokogiri::XML(File.read(DATA_PATH+'/ELA-Literacy.xml')).xpath('//LearningStandardItem').first
89
+ end
90
+ end
91
+ end