@testgorilla/tgo-coding-test 0.0.1 → 1.0.0

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 (354) hide show
  1. package/README.md +49 -2
  2. package/esm2022/index.mjs +12 -0
  3. package/esm2022/lib/components/code-editor/code-editor.component.mjs +335 -0
  4. package/esm2022/lib/components/code-editor/code-editor.service.mjs +72 -0
  5. package/esm2022/lib/components/code-editor/helpers/c-helper.mjs +40 -0
  6. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.base.mjs +11 -0
  7. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.model.mjs +2 -0
  8. package/esm2022/lib/components/code-editor/helpers/cpp-helper.mjs +41 -0
  9. package/esm2022/lib/components/code-editor/helpers/csharp-helper.mjs +42 -0
  10. package/esm2022/lib/components/code-editor/helpers/go-helper.mjs +42 -0
  11. package/esm2022/lib/components/code-editor/helpers/index.mjs +16 -0
  12. package/esm2022/lib/components/code-editor/helpers/java-helper.mjs +42 -0
  13. package/esm2022/lib/components/code-editor/helpers/javascript-helper.mjs +26 -0
  14. package/esm2022/lib/components/code-editor/helpers/kotlin-helper.mjs +42 -0
  15. package/esm2022/lib/components/code-editor/helpers/php-helper.mjs +26 -0
  16. package/esm2022/lib/components/code-editor/helpers/python-helper.mjs +26 -0
  17. package/esm2022/lib/components/code-editor/helpers/r-helper.mjs +26 -0
  18. package/esm2022/lib/components/code-editor/helpers/ruby-helper.mjs +26 -0
  19. package/esm2022/lib/components/code-editor/helpers/scala-helper.mjs +41 -0
  20. package/esm2022/lib/components/code-editor/helpers/sql-helper.mjs +34 -0
  21. package/esm2022/lib/components/code-editor/helpers/swift-helper.mjs +40 -0
  22. package/esm2022/lib/components/code-editor/helpers/typescript-helper.mjs +41 -0
  23. package/esm2022/lib/components/code-editor/models/code-editor.model.mjs +2 -0
  24. package/esm2022/lib/components/code-editor/models/coding-snapshot.model.mjs +2 -0
  25. package/esm2022/lib/components/coding-question/coding-question.component.mjs +126 -0
  26. package/esm2022/lib/components/coding-section/coding-section.component.mjs +188 -0
  27. package/esm2022/lib/components/common/truncated-text/truncated-text.component.mjs +38 -0
  28. package/esm2022/lib/components/configurations/configurations.component.mjs +97 -0
  29. package/esm2022/lib/components/instructions/instructions.component.mjs +139 -0
  30. package/esm2022/lib/components/panel/panel.component.mjs +34 -0
  31. package/esm2022/lib/components/runnable-editor/runnable-editor.component.mjs +169 -0
  32. package/esm2022/lib/components/tests/test-cases/test-cases.component.mjs +198 -0
  33. package/esm2022/lib/components/tests/test-cases-content/test-cases-content.component.mjs +96 -0
  34. package/esm2022/lib/components/tests/test-cases-status/test-cases-status.component.mjs +21 -0
  35. package/esm2022/lib/components/tests/test-results.component.mjs +127 -0
  36. package/esm2022/lib/components/tgo-coding-test/tgo-coding-test.component.mjs +280 -0
  37. package/esm2022/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.mjs +476 -0
  38. package/esm2022/lib/config/index.mjs +2 -0
  39. package/esm2022/lib/config/tgo-coding-test.config.mjs +2 -0
  40. package/esm2022/lib/config/tgo-coding-test.provider.mjs +34 -0
  41. package/esm2022/lib/config/tgo-coding-test.token.mjs +14 -0
  42. package/esm2022/lib/models/auto-saved-data.mjs +2 -0
  43. package/esm2022/lib/models/code-event.mjs +2 -0
  44. package/esm2022/lib/models/coderunner-execution-results.mjs +2 -0
  45. package/esm2022/lib/models/configs.mjs +2 -0
  46. package/esm2022/lib/models/language-change-action.mjs +2 -0
  47. package/esm2022/lib/models/lat-languages.mjs +3 -0
  48. package/esm2022/lib/models/mixpanel-events.mjs +2 -0
  49. package/esm2022/lib/models/mode.mjs +2 -0
  50. package/esm2022/lib/models/paste-data.mjs +2 -0
  51. package/esm2022/lib/models/programming-language.mjs +2 -0
  52. package/esm2022/lib/models/test-cases.mjs +7 -0
  53. package/esm2022/lib/models/theme.mjs +2 -0
  54. package/esm2022/lib/models/translations.mjs +2 -0
  55. package/esm2022/lib/models/view-mode.mjs +8 -0
  56. package/esm2022/lib/pipes/memoize-func.pipe.mjs +39 -0
  57. package/esm2022/lib/services/candidate-coding-test-services/candidature-api.service.mjs +19 -0
  58. package/esm2022/lib/services/candidate-coding-test-services/coderunner-api.service.mjs +58 -0
  59. package/esm2022/lib/services/candidate-coding-test-services/coding-test-tour.service.mjs +89 -0
  60. package/esm2022/lib/services/candidate-coding-test-services/coding-test.service.mjs +490 -0
  61. package/esm2022/lib/services/candidate-coding-test-services/index.mjs +5 -0
  62. package/esm2022/lib/services/coding-test-config.service.mjs +51 -0
  63. package/esm2022/lib/services/configurations.service.mjs +89 -0
  64. package/esm2022/lib/services/lib-coding-test.service.mjs +106 -0
  65. package/esm2022/lib/services/storage.service.mjs +624 -0
  66. package/esm2022/lib/services/test-cases.service.mjs +30 -0
  67. package/esm2022/lib/services/theme.service.mjs +36 -0
  68. package/esm2022/lib/utils/additional-languages/erlang.mjs +103 -0
  69. package/esm2022/lib/utils/resize-element.mjs +13 -0
  70. package/esm2022/lib/utils/time-to-ms.util.mjs +11 -0
  71. package/esm2022/shared/index.mjs +5 -0
  72. package/esm2022/shared/lib/components/audio-animation/audio-animation.component.mjs +114 -0
  73. package/esm2022/shared/lib/components/audio-animation/index.mjs +2 -0
  74. package/esm2022/shared/lib/components/index.mjs +3 -0
  75. package/esm2022/shared/lib/components/vimeo-video/index.mjs +2 -0
  76. package/esm2022/shared/lib/components/vimeo-video/vimeo-video.component.mjs +101 -0
  77. package/esm2022/shared/lib/models/answer.mjs +2 -0
  78. package/esm2022/shared/lib/models/assessment.mjs +2 -0
  79. package/esm2022/shared/lib/models/environment.mjs +2 -0
  80. package/esm2022/shared/lib/models/index.mjs +9 -0
  81. package/esm2022/shared/lib/models/question-component.mjs +2 -0
  82. package/esm2022/shared/lib/models/question.mjs +2 -0
  83. package/esm2022/shared/lib/models/test.mjs +2 -0
  84. package/esm2022/shared/lib/models/translations.mjs +2 -0
  85. package/esm2022/shared/lib/models/window.mjs +2 -0
  86. package/esm2022/shared/lib/services/api/api.service.mjs +97 -0
  87. package/esm2022/shared/lib/services/api/mocked-api.service.mjs +131 -0
  88. package/esm2022/shared/lib/services/environment/environment.service.mjs +13 -0
  89. package/esm2022/shared/lib/services/index.mjs +10 -0
  90. package/esm2022/shared/lib/services/localization/languages.model.mjs +19 -0
  91. package/esm2022/shared/lib/services/localization/transloco-lazy-module-utils.mjs +27 -0
  92. package/esm2022/shared/lib/services/localization/transloco-testing.module.mjs +11 -0
  93. package/esm2022/shared/lib/services/media/media.service.mjs +129 -0
  94. package/esm2022/shared/lib/services/mixpanel/mixpanel.service.mjs +30 -0
  95. package/esm2022/shared/lib/services/theme/theme.service.mjs +24 -0
  96. package/esm2022/shared/test-mocks/assessment-test.mock.mjs +112 -0
  97. package/esm2022/shared/test-mocks/index.mjs +3 -0
  98. package/esm2022/shared/test-mocks/tgo-ui.mock.mjs +39 -0
  99. package/esm2022/testgorilla-tgo-coding-test.mjs +5 -0
  100. package/fesm2022/testgorilla-tgo-coding-test.mjs +4526 -0
  101. package/fesm2022/testgorilla-tgo-coding-test.mjs.map +1 -0
  102. package/{src/index.ts → index.d.ts} +2 -19
  103. package/lib/components/code-editor/code-editor.component.d.ts +54 -0
  104. package/lib/components/code-editor/code-editor.service.d.ts +12 -0
  105. package/lib/components/code-editor/helpers/c-helper.d.ts +11 -0
  106. package/lib/components/code-editor/helpers/code-editor-helper.base.d.ts +8 -0
  107. package/lib/components/code-editor/helpers/code-editor-helper.model.d.ts +62 -0
  108. package/lib/components/code-editor/helpers/cpp-helper.d.ts +11 -0
  109. package/lib/components/code-editor/helpers/csharp-helper.d.ts +12 -0
  110. package/lib/components/code-editor/helpers/go-helper.d.ts +12 -0
  111. package/lib/components/code-editor/helpers/java-helper.d.ts +12 -0
  112. package/lib/components/code-editor/helpers/javascript-helper.d.ts +10 -0
  113. package/lib/components/code-editor/helpers/kotlin-helper.d.ts +12 -0
  114. package/lib/components/code-editor/helpers/php-helper.d.ts +10 -0
  115. package/lib/components/code-editor/helpers/python-helper.d.ts +10 -0
  116. package/lib/components/code-editor/helpers/r-helper.d.ts +10 -0
  117. package/lib/components/code-editor/helpers/ruby-helper.d.ts +10 -0
  118. package/lib/components/code-editor/helpers/scala-helper.d.ts +12 -0
  119. package/lib/components/code-editor/helpers/sql-helper.d.ts +10 -0
  120. package/lib/components/code-editor/helpers/swift-helper.d.ts +11 -0
  121. package/lib/components/code-editor/helpers/typescript-helper.d.ts +11 -0
  122. package/lib/components/code-editor/models/code-editor.model.d.ts +8 -0
  123. package/lib/components/code-editor/models/coding-snapshot.model.d.ts +4 -0
  124. package/lib/components/coding-question/coding-question.component.d.ts +45 -0
  125. package/lib/components/coding-section/coding-section.component.d.ts +52 -0
  126. package/lib/components/common/truncated-text/truncated-text.component.d.ts +13 -0
  127. package/lib/components/configurations/configurations.component.d.ts +40 -0
  128. package/lib/components/instructions/instructions.component.d.ts +48 -0
  129. package/lib/components/panel/panel.component.d.ts +12 -0
  130. package/lib/components/runnable-editor/runnable-editor.component.d.ts +53 -0
  131. package/lib/components/tests/test-cases/test-cases.component.d.ts +46 -0
  132. package/lib/components/tests/test-cases-content/test-cases-content.component.d.ts +26 -0
  133. package/lib/components/tests/test-cases-status/test-cases-status.component.d.ts +9 -0
  134. package/lib/components/tests/test-results.component.d.ts +33 -0
  135. package/lib/components/tgo-coding-test/tgo-coding-test.component.d.ts +69 -0
  136. package/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.d.ts +101 -0
  137. package/{src/lib/config/index.ts → lib/config/index.d.ts} +0 -1
  138. package/lib/config/tgo-coding-test.config.d.ts +24 -0
  139. package/{src/lib/config/tgo-coding-test.provider.ts → lib/config/tgo-coding-test.provider.d.ts} +6 -18
  140. package/lib/config/tgo-coding-test.token.d.ts +9 -0
  141. package/lib/models/auto-saved-data.d.ts +42 -0
  142. package/lib/models/code-event.d.ts +15 -0
  143. package/lib/models/coderunner-execution-results.d.ts +51 -0
  144. package/lib/models/configs.d.ts +15 -0
  145. package/lib/models/language-change-action.d.ts +4 -0
  146. package/lib/models/lat-languages.d.ts +8 -0
  147. package/lib/models/mixpanel-events.d.ts +3 -0
  148. package/lib/models/mode.d.ts +5 -0
  149. package/lib/models/paste-data.d.ts +4 -0
  150. package/lib/models/programming-language.d.ts +8 -0
  151. package/lib/models/test-cases.d.ts +67 -0
  152. package/lib/models/theme.d.ts +4 -0
  153. package/lib/models/translations.d.ts +1 -0
  154. package/lib/models/view-mode.d.ts +6 -0
  155. package/{src/lib/pipes/memoize-func.pipe.ts → lib/pipes/memoize-func.pipe.d.ts} +6 -14
  156. package/lib/services/candidate-coding-test-services/candidature-api.service.d.ts +10 -0
  157. package/lib/services/candidate-coding-test-services/coderunner-api.service.d.ts +18 -0
  158. package/lib/services/candidate-coding-test-services/coding-test-tour.service.d.ts +22 -0
  159. package/lib/services/candidate-coding-test-services/coding-test.service.d.ts +68 -0
  160. package/{src/lib/services/candidate-coding-test-services/index.ts → lib/services/candidate-coding-test-services/index.d.ts} +1 -1
  161. package/lib/services/coding-test-config.service.d.ts +38 -0
  162. package/lib/services/configurations.service.d.ts +37 -0
  163. package/lib/services/lib-coding-test.service.d.ts +69 -0
  164. package/lib/services/storage.service.d.ts +83 -0
  165. package/lib/services/test-cases.service.d.ts +12 -0
  166. package/lib/services/theme.service.d.ts +17 -0
  167. package/lib/utils/additional-languages/erlang.d.ts +37 -0
  168. package/lib/utils/resize-element.d.ts +2 -0
  169. package/lib/utils/time-to-ms.util.d.ts +1 -0
  170. package/package.json +18 -7
  171. package/shared/index.d.ts +4 -0
  172. package/shared/lib/components/audio-animation/audio-animation.component.d.ts +27 -0
  173. package/shared/lib/components/audio-animation/index.d.ts +1 -0
  174. package/shared/lib/components/index.d.ts +2 -0
  175. package/shared/lib/components/vimeo-video/index.d.ts +1 -0
  176. package/shared/lib/components/vimeo-video/vimeo-video.component.d.ts +24 -0
  177. package/shared/lib/models/answer.d.ts +17 -0
  178. package/shared/lib/models/assessment.d.ts +80 -0
  179. package/shared/lib/models/environment.d.ts +1 -0
  180. package/shared/lib/models/index.d.ts +8 -0
  181. package/shared/lib/models/question-component.d.ts +54 -0
  182. package/shared/lib/models/question.d.ts +102 -0
  183. package/shared/lib/models/test.d.ts +81 -0
  184. package/shared/lib/models/translations.d.ts +1 -0
  185. package/shared/lib/models/window.d.ts +6 -0
  186. package/shared/lib/services/api/api.service.d.ts +25 -0
  187. package/shared/lib/services/api/mocked-api.service.d.ts +35 -0
  188. package/shared/lib/services/environment/environment.service.d.ts +6 -0
  189. package/shared/lib/services/index.d.ts +9 -0
  190. package/shared/lib/services/localization/languages.model.d.ts +15 -0
  191. package/shared/lib/services/localization/transloco-lazy-module-utils.d.ts +11 -0
  192. package/shared/lib/services/localization/transloco-testing.module.d.ts +2 -0
  193. package/shared/lib/services/media/media.service.d.ts +29 -0
  194. package/shared/lib/services/mixpanel/mixpanel.service.d.ts +10 -0
  195. package/shared/lib/services/theme/theme.service.d.ts +8 -0
  196. package/shared/test-mocks/assessment-test.mock.d.ts +21 -0
  197. package/shared/test-mocks/index.d.ts +2 -0
  198. package/shared/test-mocks/tgo-ui.mock.d.ts +21 -0
  199. package/.eslintrc.json +0 -45
  200. package/jest.config.ts +0 -21
  201. package/ng-package.json +0 -14
  202. package/project.json +0 -36
  203. package/src/lib/components/.gitkeep +0 -0
  204. package/src/lib/components/code-editor/code-editor.component.html +0 -10
  205. package/src/lib/components/code-editor/code-editor.component.scss +0 -21
  206. package/src/lib/components/code-editor/code-editor.component.spec.ts +0 -136
  207. package/src/lib/components/code-editor/code-editor.component.ts +0 -369
  208. package/src/lib/components/code-editor/code-editor.mocks.ts +0 -28
  209. package/src/lib/components/code-editor/code-editor.service.spec.ts +0 -160
  210. package/src/lib/components/code-editor/code-editor.service.ts +0 -94
  211. package/src/lib/components/code-editor/helpers/c-helper.spec.ts +0 -39
  212. package/src/lib/components/code-editor/helpers/c-helper.ts +0 -51
  213. package/src/lib/components/code-editor/helpers/code-editor-helper.base.spec.ts +0 -30
  214. package/src/lib/components/code-editor/helpers/code-editor-helper.base.ts +0 -16
  215. package/src/lib/components/code-editor/helpers/code-editor-helper.mocks.ts +0 -24
  216. package/src/lib/components/code-editor/helpers/code-editor-helper.model.ts +0 -67
  217. package/src/lib/components/code-editor/helpers/cpp-helper.spec.ts +0 -40
  218. package/src/lib/components/code-editor/helpers/cpp-helper.ts +0 -52
  219. package/src/lib/components/code-editor/helpers/csharp-helper.spec.ts +0 -42
  220. package/src/lib/components/code-editor/helpers/csharp-helper.ts +0 -55
  221. package/src/lib/components/code-editor/helpers/go-helper.spec.ts +0 -41
  222. package/src/lib/components/code-editor/helpers/go-helper.ts +0 -54
  223. package/src/lib/components/code-editor/helpers/java-helper.spec.ts +0 -41
  224. package/src/lib/components/code-editor/helpers/java-helper.ts +0 -54
  225. package/src/lib/components/code-editor/helpers/javascript-helper.spec.ts +0 -39
  226. package/src/lib/components/code-editor/helpers/javascript-helper.ts +0 -32
  227. package/src/lib/components/code-editor/helpers/kotlin-helper.spec.ts +0 -41
  228. package/src/lib/components/code-editor/helpers/kotlin-helper.ts +0 -54
  229. package/src/lib/components/code-editor/helpers/php-helper.spec.ts +0 -39
  230. package/src/lib/components/code-editor/helpers/php-helper.ts +0 -32
  231. package/src/lib/components/code-editor/helpers/python-helper.spec.ts +0 -39
  232. package/src/lib/components/code-editor/helpers/python-helper.ts +0 -32
  233. package/src/lib/components/code-editor/helpers/r-helper.spec.ts +0 -39
  234. package/src/lib/components/code-editor/helpers/r-helper.ts +0 -32
  235. package/src/lib/components/code-editor/helpers/ruby-helper.spec.ts +0 -39
  236. package/src/lib/components/code-editor/helpers/ruby-helper.ts +0 -32
  237. package/src/lib/components/code-editor/helpers/scala-helper.spec.ts +0 -41
  238. package/src/lib/components/code-editor/helpers/scala-helper.ts +0 -53
  239. package/src/lib/components/code-editor/helpers/sql-helper.spec.ts +0 -87
  240. package/src/lib/components/code-editor/helpers/sql-helper.ts +0 -44
  241. package/src/lib/components/code-editor/helpers/swift-helper.spec.ts +0 -40
  242. package/src/lib/components/code-editor/helpers/swift-helper.ts +0 -51
  243. package/src/lib/components/code-editor/helpers/typescript-helper.spec.ts +0 -40
  244. package/src/lib/components/code-editor/helpers/typescript-helper.ts +0 -52
  245. package/src/lib/components/code-editor/models/code-editor.model.ts +0 -9
  246. package/src/lib/components/code-editor/models/coding-snapshot.model.ts +0 -4
  247. package/src/lib/components/coding-question/coding-question.component.html +0 -78
  248. package/src/lib/components/coding-question/coding-question.component.scss +0 -76
  249. package/src/lib/components/coding-question/coding-question.component.spec.ts +0 -85
  250. package/src/lib/components/coding-question/coding-question.component.ts +0 -102
  251. package/src/lib/components/coding-section/coding-section.component.html +0 -82
  252. package/src/lib/components/coding-section/coding-section.component.scss +0 -64
  253. package/src/lib/components/coding-section/coding-section.component.spec.ts +0 -257
  254. package/src/lib/components/coding-section/coding-section.component.ts +0 -187
  255. package/src/lib/components/coding-test.module.ts +0 -124
  256. package/src/lib/components/common/truncated-text/truncated-text.component.html +0 -6
  257. package/src/lib/components/common/truncated-text/truncated-text.component.scss +0 -18
  258. package/src/lib/components/common/truncated-text/truncated-text.component.spec.ts +0 -84
  259. package/src/lib/components/common/truncated-text/truncated-text.component.ts +0 -37
  260. package/src/lib/components/configurations/configurations.component.html +0 -57
  261. package/src/lib/components/configurations/configurations.component.scss +0 -42
  262. package/src/lib/components/configurations/configurations.component.spec.ts +0 -186
  263. package/src/lib/components/configurations/configurations.component.ts +0 -98
  264. package/src/lib/components/instructions/instructions.component.html +0 -41
  265. package/src/lib/components/instructions/instructions.component.scss +0 -167
  266. package/src/lib/components/instructions/instructions.component.spec.ts +0 -106
  267. package/src/lib/components/instructions/instructions.component.ts +0 -138
  268. package/src/lib/components/panel/panel.component.html +0 -19
  269. package/src/lib/components/panel/panel.component.scss +0 -41
  270. package/src/lib/components/panel/panel.component.spec.ts +0 -40
  271. package/src/lib/components/panel/panel.component.ts +0 -34
  272. package/src/lib/components/runnable-editor/runnable-editor.component.html +0 -75
  273. package/src/lib/components/runnable-editor/runnable-editor.component.scss +0 -55
  274. package/src/lib/components/runnable-editor/runnable-editor.component.spec.ts +0 -124
  275. package/src/lib/components/runnable-editor/runnable-editor.component.ts +0 -155
  276. package/src/lib/components/tests/test-cases/test-cases.component.html +0 -135
  277. package/src/lib/components/tests/test-cases/test-cases.component.scss +0 -220
  278. package/src/lib/components/tests/test-cases/test-cases.component.spec.ts +0 -401
  279. package/src/lib/components/tests/test-cases/test-cases.component.ts +0 -205
  280. package/src/lib/components/tests/test-cases-content/test-cases-content.component.html +0 -94
  281. package/src/lib/components/tests/test-cases-content/test-cases-content.component.scss +0 -103
  282. package/src/lib/components/tests/test-cases-content/test-cases-content.component.spec.ts +0 -122
  283. package/src/lib/components/tests/test-cases-content/test-cases-content.component.ts +0 -102
  284. package/src/lib/components/tests/test-cases-status/test-cases-status.component.html +0 -16
  285. package/src/lib/components/tests/test-cases-status/test-cases-status.component.scss +0 -49
  286. package/src/lib/components/tests/test-cases-status/test-cases-status.component.spec.ts +0 -22
  287. package/src/lib/components/tests/test-cases-status/test-cases-status.component.ts +0 -18
  288. package/src/lib/components/tests/test-results.component.html +0 -119
  289. package/src/lib/components/tests/test-results.component.scss +0 -189
  290. package/src/lib/components/tests/test-results.component.spec.ts +0 -140
  291. package/src/lib/components/tests/test-results.component.ts +0 -98
  292. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.html +0 -96
  293. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.scss +0 -6
  294. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.spec.ts +0 -599
  295. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.ts +0 -279
  296. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.html +0 -36
  297. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.scss +0 -183
  298. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.spec.ts +0 -883
  299. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.ts +0 -575
  300. package/src/lib/config/tgo-coding-test.config.ts +0 -26
  301. package/src/lib/config/tgo-coding-test.token.ts +0 -21
  302. package/src/lib/models/.gitkeep +0 -0
  303. package/src/lib/models/auto-saved-data.ts +0 -51
  304. package/src/lib/models/code-event.ts +0 -17
  305. package/src/lib/models/coderunner-execution-results.ts +0 -58
  306. package/src/lib/models/coding-lib.mocks.ts +0 -246
  307. package/src/lib/models/configs.ts +0 -18
  308. package/src/lib/models/language-change-action.ts +0 -4
  309. package/src/lib/models/lat-languages.ts +0 -12
  310. package/src/lib/models/mixpanel-events.ts +0 -3
  311. package/src/lib/models/mode.ts +0 -5
  312. package/src/lib/models/paste-data.ts +0 -4
  313. package/src/lib/models/programming-language.ts +0 -9
  314. package/src/lib/models/test-cases.ts +0 -74
  315. package/src/lib/models/theme.ts +0 -5
  316. package/src/lib/models/translations.ts +0 -1
  317. package/src/lib/models/view-mode.ts +0 -6
  318. package/src/lib/services/.gitkeep +0 -0
  319. package/src/lib/services/candidate-coding-test-services/candidature-api.service.spec.ts +0 -40
  320. package/src/lib/services/candidate-coding-test-services/candidature-api.service.ts +0 -15
  321. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.spec.ts +0 -134
  322. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.ts +0 -105
  323. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.spec.ts +0 -161
  324. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.ts +0 -100
  325. package/src/lib/services/candidate-coding-test-services/coding-test.service.spec.ts +0 -1524
  326. package/src/lib/services/candidate-coding-test-services/coding-test.service.ts +0 -843
  327. package/src/lib/services/coding-test-config.service.ts +0 -48
  328. package/src/lib/services/configurations.service.mocks.ts +0 -77
  329. package/src/lib/services/configurations.service.spec.ts +0 -79
  330. package/src/lib/services/configurations.service.ts +0 -111
  331. package/src/lib/services/index.ts +0 -0
  332. package/src/lib/services/lib-coding-test.service.spec.ts +0 -265
  333. package/src/lib/services/lib-coding-test.service.ts +0 -157
  334. package/src/lib/services/local-storage.service.mocks.ts +0 -22
  335. package/src/lib/services/storage.service.spec.ts +0 -1120
  336. package/src/lib/services/storage.service.ts +0 -729
  337. package/src/lib/services/test-cases.service.spec.ts +0 -53
  338. package/src/lib/services/test-cases.service.ts +0 -29
  339. package/src/lib/services/theme.service.spec.ts +0 -76
  340. package/src/lib/services/theme.service.ts +0 -34
  341. package/src/lib/styles/mixins.scss +0 -86
  342. package/src/lib/styles/styles.scss +0 -112
  343. package/src/lib/styles/variables.scss +0 -105
  344. package/src/lib/utils/.gitkeep +0 -0
  345. package/src/lib/utils/additional-languages/erlang.ts +0 -115
  346. package/src/lib/utils/resize-element.ts +0 -15
  347. package/src/lib/utils/time-to-ms.util.ts +0 -10
  348. package/src/test-setup.ts +0 -1
  349. package/tsconfig.json +0 -16
  350. package/tsconfig.lib.json +0 -12
  351. package/tsconfig.lib.prod.json +0 -9
  352. package/tsconfig.spec.json +0 -13
  353. /package/{src/assets → assets}/i18n/en.json +0 -0
  354. /package/{src/lib/components/code-editor/helpers/index.ts → lib/components/code-editor/helpers/index.d.ts} +0 -0
@@ -1,58 +0,0 @@
1
- export interface SqlTestResult {
2
- content: string;
3
- response_msg: string;
4
- stderr: string | null;
5
- stdout: string[];
6
- test_result: string;
7
- }
8
-
9
- export interface CodeTestResult {
10
- actualOutput: string;
11
- logs: string;
12
- status: 'passed' | 'error';
13
- }
14
-
15
- export type TestResult = SqlTestResult | CodeTestResult;
16
-
17
- export interface CodingTestsResultsModel {
18
- listResponse: TestResult[];
19
- resume: {
20
- ok: number;
21
- error: number;
22
- total: number;
23
- };
24
- }
25
-
26
- export interface CoderunnerAttemptModel {
27
- code?: string;
28
- created_at?: string;
29
- executions?: CoderunnerTestCaseExecutionModel[];
30
- id?: string;
31
- language?: string;
32
- question_result_id?: number;
33
- updated_at?: string;
34
- }
35
-
36
- export interface CoderunnerTestCaseExecutionModel {
37
- input: string;
38
- evaluation: {
39
- testcase?: string;
40
- };
41
- run: CodeRunnerTestCaseExecutionOutputModel;
42
- compile: CodeRunnerTestCaseExecutionOutputModel;
43
- attempt_id: null;
44
- submission_id: null;
45
- validation_id: null;
46
- id: string;
47
- created_at: string;
48
- updated_at: string;
49
- }
50
-
51
- export interface CodeRunnerTestCaseExecutionOutputModel {
52
- stdout?: string;
53
- stderr?: string;
54
- signal?: string;
55
- output?: string;
56
- }
57
-
58
- export const TIMEOUT_SIGNAL = 'SIGKILL';
@@ -1,246 +0,0 @@
1
- const INIT_CODES = {
2
- c: `#include <stdio.h>\n#include <stdlib.h>\n\nint* countIntegers(int n, int val, int arr[]) {\n int* counts = (int*)malloc(3 * sizeof(int));\n int smaller = 0, equal = 0, greater = 0;\n\n for (int i = 0; i < n; i++) {\n if (arr[i] < val) {\n smaller++;\n } else if (arr[i] == val) {\n equal++;\n } else {\n greater++;\n }\n }\n\n counts[0] = smaller;\n counts[1] = equal;\n counts[2] = greater;\n\n return counts;\n}\n\nint main() {\n int n, val;\n scanf("%d", &n);\n scanf("%d", &val);\n int arr[n];\n for (int i = 0; i < n; i++) {\n scanf("%d", &arr[i]);\n }\n\n int* result = countIntegers(n, val, arr);\n printf("%d %d %d\\n", result[0], result[1], result[2]);\n free(result);\n\n return 0;\n}`,
3
- 'c#': `using System;\nusing System.Collections.Generic;\n\npublic class Program {\n public static List<int> CountIntegers(int n, int val, int[] arr) {\n List<int> counts = new List<int> { 0, 0, 0 };\n int smaller = 0, equal = 0, greater = 0;\n\n for (int i = 0; i < n; i++) {\n if (arr[i] < val) {\n smaller++;\n } else if (arr[i] == val) {\n equal++;\n } else {\n greater++;\n }\n }\n\n counts[0] = smaller;\n counts[1] = equal;\n counts[2] = greater;\n\n return counts;\n }\n\n public static void Main() {\n int n = Convert.ToInt32(Console.ReadLine());\n int val = Convert.ToInt32(Console.ReadLine());\n int[] arr = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);\n\n List<int> result = CountIntegers(n, val, arr);\n Console.WriteLine(string.Join(" ", result));\n }\n}`,
4
- 'c++': `#include <iostream>\n#include <vector>\n\nstd::vector<int> countIntegers(int n, int val, const std::vector<int>& arr) {\n std::vector<int> counts(3, 0);\n int smaller = 0, equal = 0, greater = 0;\n\n for (int i = 0; i < n; i++) {\n if (arr[i] < val) {\n smaller++;\n } else if (arr[i] == val) {\n equal++;\n } else {\n greater++;\n }\n }\n\n counts[0] = smaller;\n counts[1] = equal;\n counts[2] = greater;\n\n return counts;\n}\n\nint main() {\n int n, val;\n std::cin >> n;\n std::cin >> val;\n std::vector<int> arr(n);\n for (int i = 0; i < n; i++) {\n std::cin >> arr[i];\n }\n\n std::vector<int> result = countIntegers(n, val, arr);\n std::cout << result[0] << " " << result[1] << " " << result[2] << std::endl;\n\n return 0;\n}`,
5
- dart: `import 'dart:io';\n\nList<int> countIntegers(int n, int val, List<int> arr) {\n List<int> counts = [0, 0, 0];\n int smaller = 0, equal = 0, greater = 0;\n\n for (int i = 0; i < n; i++) {\n\n if (arr[i] < val) {\n smaller++;\n } else if (arr[i] == val) {\n equal++;\n } else {\n greater++;\n }\n }\n\n counts[0] = smaller;\n counts[1] = equal;\n counts[2] = greater;\n\n return counts;\n}\n\nvoid main() {\n // Read input values from stdin\n int n = int.parse(stdin.readLineSync()!);\n \n int val = int.parse(stdin.readLineSync()!);\n\n List<int> arr = [];\n final input = stdin.readLineSync()!.split(' ');\n\n for (final value in input) {\n int nums = int.parse(value);\n arr.add(nums);\n }\n\n // Call countIntegers and display the result\n List<int> result = countIntegers(n, val, arr);\n print('\${result[0]} \${result[1]} \${result[2]}');\n}`,
6
- elixir: `defmodule Main do\r\n def count_integers(n, val, arr) do\r\n {smaller, equal, greater} = Enum.reduce(arr, {0, 0, 0}, fn num, {s, e, g} ->\r\n case num do\r\n _ when num < val -> {s + 1, e, g}\r\n _ when num == val -> {s, e + 1, g}\r\n _ -> {s, e, g + 1}\r\n end\r\n end)\r\n [smaller, equal, greater]\r\n end\r\n\r\n def main do\r\n n = IO.read(:line) |> String.trim() |> String.to_integer()\r\n val = IO.read(:line) |> String.trim() |> String.to_integer()\r\n input = IO.read(:line) |> String.trim() |> String.split(~r/\\s+/)\r\n arr = Enum.map(input, &String.to_integer/1)\r\n [smaller, equal, greater] = count_integers(n, val, arr)\r\n IO.write("#{smaller} #{equal} #{greater}\\n")\r\n end\r\nend\r\n\r\nMain.main()`,
7
- erlang: `-module(main).\n% -compile(export_all).\n\ncount_integers(N, Val, Arr) ->\n Smaller = length(lists:filter(fun(X) -> X < Val end, Arr)),\n Equal = length(lists:filter(fun(X) -> X == Val end, Arr)),\n Greater = length(lists:filter(fun(X) -> X > Val end, Arr)),\n N,\n {Smaller, Equal, Greater}.\n\nmain(_) ->\n N = list_to_integer(string:strip(io:get_line(""), right, $\\n)),\n Val = list_to_integer(string:strip(io:get_line(""), right, $\\n)),\n\n Input = io:get_line(""),\n [Arr1 | _] = string:tokens(Input, "\\n"), % Split input into lines and take the first line\n\n Arr = [list_to_integer(Token) || Token <- string:tokens(Arr1, " ")],\n\n {Smaller, Equal, Greater} = count_integers(N, Val, Arr),\n io:format("~w ~w ~w~n", [Smaller, Equal, Greater]).\n`,
8
- go: `package main\n\nimport (\n "fmt"\n)\n\nfunc countIntegers(n int, val int, arr []int) []int {\n counts := make([]int, 3)\n smaller := 0\n equal := 0\n greater := 0\n\n for i := 0; i < n; i++ {\n if arr[i] < val {\n smaller++\n } else if arr[i] == val {\n equal++\n } else {\n greater++\n }\n }\n\n counts[0] = smaller\n counts[1] = equal\n counts[2] = greater\n\n return counts\n}\n\nfunc main() {\n var n, val int\n fmt.Scan(&n)\n fmt.Scan(&val)\n arr := make([]int, n)\n for i := 0; i < n; i++ {\n fmt.Scan(&arr[i])\n }\n\n result := countIntegers(n, val, arr)\n fmt.Println(result[0], result[1], result[2])\n}`,
9
- java: `import java.util.*;\n\npublic class Main {\n public static int[] countIntegers(int n, int val, int[] arr) {\n int[] counts = new int[3];\n int smaller = 0, equal = 0, greater = 0;\n\n for (int i = 0; i < n; i++) {\n if (arr[i] < val) {\n smaller++;\n } else if (arr[i] == val) {\n equal++;\n } else {\n greater++;\n }\n }\n\n counts[0] = smaller;\n counts[1] = equal;\n counts[2] = greater;\n\n return counts;\n }\n\n public static void main(String[] args) {\n Scanner scanner = new Scanner(System.in);\n int n = scanner.nextInt();\n int val = scanner.nextInt();\n int[] arr = new int[n];\n for (int i = 0; i < n; i++) {\n arr[i] = scanner.nextInt();\n }\n\n int[] result = countIntegers(n, val, arr);\n System.out.println(result[0] + " " + result[1] + " " + result[2]);\n }\n}`,
10
- javascript: `function countIntegers(n, val, arr) {\n let smaller = 0;\n let equal = 0;\n let greater = 0;\n\n for (let i = 0; i < n; i++) {\n if (arr[i] < val) {\n smaller++;\n } else if (arr[i] == val) {\n equal++;\n } else {\n greater++;\n }\n }\n\n return [smaller, equal, greater];\n}\n\nconst readline = require('readline');\nconst rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout\n});\n\nrl.question('', (n) => {\n rl.question('', (val) => {\n rl.question('', (input) => {\n const arr = input.split(' ').map(Number);\n const result = countIntegers(n, val, arr);\n console.log(result.join(' '));\n rl.close();\n });\n });\n});`,
11
- julia: `function countIntegers(n::Int, val::Int, arr::Vector{Int})\n counts = [0, 0, 0]\n smaller = 0\n equal = 0\n greater = 0\n\n for i in 1:n\n if arr[i] < val\n smaller += 1\n elseif arr[i] == val\n equal += 1\n else\n greater += 1\n end\n end\n\n counts[1] = smaller\n counts[2] = equal\n counts[3] = greater\n\n return counts\nend\n\nfunction main()\n # Read input values from stdin\n n = parse(Int, readline())\n\n val = parse(Int, readline())\n\n input = readline()\n arr = parse.(Int, split(input))\n\n # Call countIntegers and display the result\n result = countIntegers(n, val, arr)\n println("$(result[1]) $(result[2]) $(result[3])")\nend\n\nmain()\n`,
12
- kotlin: `fun countIntegers(n: Int, val1: Int, arr: IntArray): List<Int> {\n var smaller = 0\n var equal = 0\n var greater = 0\n\n for (i in 0 until n) {\n when {\n arr[i] < val1 -> smaller++\n arr[i] == val1 -> equal++\n else -> greater++\n }\n }\n\n return listOf(smaller, equal, greater)\n}\n\nfun main() {\n val n = readLine()!!.toInt()\n val val1 = readLine()!!.toInt()\n val arr = readLine()!!.split(" ").map { it.toInt() }.toIntArray()\n\n val result = countIntegers(n, val1, arr)\n println(result.joinToString(" "))\n}`,
13
- perl: `sub count_integers {\n my ($n, $val, @arr) = @_;\n my @counts = (0, 0, 0);\n my ($smaller, $equal, $greater) = (0, 0, 0);\n\n foreach my $num (@arr) {\n if ($num < $val) {\n $smaller++;\n }\n elsif ($num == $val) {\n $equal++;\n }\n else {\n $greater++;\n }\n }\n\n $counts[0] = $smaller;\n $counts[1] = $equal;\n $counts[2] = $greater;\n\n return @counts;\n}\n\nmy $n = <>;\nchomp($n);\n\nmy $val = <>;\nchomp($val);\n\nmy $input = <>;\nchomp($input);\nmy @arr = split ' ', $input;\n\nmy @result = count_integers($n, $val, @arr);\nprint join(' ', @result) . "\\n";\n`,
14
- php: `<?php\nfunction countIntegers($n, $val, $arr) {\n $smaller = 0;\n $equal = 0;\n $greater = 0;\n\n for ($i = 0; $i < $n; $i++) {\n if ($arr[$i] < $val) {\n $smaller++;\n } else if ($arr[$i] == $val) {\n $equal++;\n } else {\n $greater++;\n }\n }\n\n return [$smaller, $equal, $greater];\n}\n\n$stdin = fopen("php://stdin", "r");\n$n = fgets($stdin);\n$val = fgets($stdin);\n$arr = explode(' ', fgets($stdin));\n\n$result = countIntegers($n, $val, $arr);\necho implode(' ', $result) . "\\n";\n?>`,
15
- python: `def countIntegers(n, val, arr):\n\tsmaller = sum(1 for num in arr if num < val)\n\tequal = sum(1 for num in arr if num == val)\n\tgreater = sum(1 for num in arr if num > val)\n\treturn [smaller, equal, greater]\n\nn = int(input())\nval = int(input())\narr = list(map(int, input().split()))\n\nresult = countIntegers(n, val, arr)\nprint(' '.join(map(str, result)))`,
16
- r: `countIntegers <- function(n, val, arr) {\n smaller <- sum(arr < val)\n equal <- sum(arr == val)\n greater <- sum(arr > val)\n return(c(smaller, equal, greater))\n}\n\ninput <- strsplit(readLines(con = "stdin", n = 3), " ")\nn <- as.integer(input[[1]])\nval <- as.integer(input[[2]])\narr <- as.integer(strsplit(input[[3]], " "))\n\nresult <- countIntegers(n, val, arr)\ncat(paste(result, collapse = " "), "\\n")`,
17
- ruby: `def count_integers(n, val, arr)\n smaller = arr.count { |num| num < val }\n equal = arr.count { |num| num == val }\n greater = arr.count { |num| num > val }\n [smaller, equal, greater]\nend\n\nn = gets.to_i\nval = gets.to_i\narr = gets.split.map(&:to_i)\n\nresult = count_integers(n, val, arr)\nputs result.join(' ')`,
18
- rust: `use std::io;\n\nfn count_integers(n: i32, val: i32, arr: Vec<i32>) -> [i32; 3] {\n let mut counts = [0, 0, 0];\n let mut smaller = 0;\n let mut equal = 0;\n let mut greater = 0;\n\n for &num in &arr {\n if num < val {\n smaller += 1;\n } else if num == val {\n equal += 1;\n } else {\n greater += 1;\n }\n }\n\n counts[0] = smaller;\n counts[1] = equal;\n counts[2] = greater;\n\n counts\n}\n\nfn main() {\n // Read input values from stdin\n let mut n = String::new();\n io::stdin().read_line(&mut n).expect("Failed to read n");\n let n: i32 = n.trim().parse().expect("Invalid input for n");\n\n let mut val = String::new();\n io::stdin().read_line(&mut val).expect("Failed to read val");\n let val: i32 = val.trim().parse().expect("Invalid input for val");\n\n let mut input = String::new();\n io::stdin().read_line(&mut input).expect("Failed to read input");\n let arr: Vec<i32> = input\n .split_whitespace()\n .map(|s| s.parse().expect("Invalid input for numbers"))\n .collect();\n\n // Call count_integers and display the result\n let result = count_integers(n, val, arr);\n println!("{} {} {}", result[0], result[1], result[2]);\n}\n`,
19
- scala: `import scala.io.StdIn.readLine\n\ndef countIntegers(n: Int, not_val: Int, arr: Array[Int]): List[Int] = {\n val smaller = arr.count(_ < not_val)\n val equal = arr.count(_ == not_val)\n val greater = arr.count(_ > not_val)\n List(smaller, equal, greater)\n}\n\n@main def run(): Unit = {\n val n = readLine().toInt\n val not_val = readLine().toInt\n val arr = readLine().split(" ").map(_.toInt)\n\n val result = countIntegers(n, not_val, arr)\n println(result.mkString(" "))\n}`,
20
- swift: `import Foundation\n\nfunc countIntegers(n: Int, val: Int, arr: [Int]) -> [Int] {\n let smaller = arr.filter { $0 < val }.count\n let equal = arr.filter { $0 == val }.count\n let greater = arr.filter { $0 > val }.count\n return [smaller, equal, greater]\n}\n\nif let n = readLine(), let val = readLine(), let input = readLine() {\n let arr = input.split(separator: " ").compactMap { Int($0) }\n let result = countIntegers(n: Int(n)!, val: Int(val)!, arr: arr)\n print(result.map { String($0) }.joined(separator: " "))\n}`,
21
- typescript: `function countIntegers(n: number, val: number, arr: number[]): number[] {\n const smaller = arr.filter(num => num < val).length;\n const equal = arr.filter(num => num == val).length;\n const greater = arr.filter(num => num > val).length;\n return [smaller, equal, greater];\n}\n\nconst readline = require('readline');\nconst rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout\n});\n\nrl.question('', (n: number) => {\n rl.question('', (val: number) => {\n rl.question('', (input: string) => {\n const arr: number[] = input.split(' ').map(Number);\n const result: number[] = countIntegers(n, val, arr);\n console.log(result.join(' '));\n rl.close();\n });\n });\n});`,
22
- };
23
-
24
- const STATE = {
25
- uuid: 'cae5876d-9e9b-475e-a099-03664cd027f5',
26
- invitation: {
27
- id: 3475580,
28
- first_name: 'S',
29
- last_name: 'S',
30
- highest_education: '',
31
- studies: '',
32
- job_role: null,
33
- other_job_role: '',
34
- test_taker: {
35
- id: 1890764,
36
- email: 'shruti+regular@testgorilla.com',
37
- first_name: 'Shruti',
38
- last_name: 'Shamdasani',
39
- newsletter: false,
40
- content_type_name: 'test_taker.testtaker',
41
- },
42
- experience_years: null,
43
- status: 'invited',
44
- completed_tests: [],
45
- is_exited_full_screen: false,
46
- is_left_screen: false,
47
- is_camera_enabled: false,
48
- assessment: {
49
- id: 492544,
50
- invitation_is_public: false,
51
- company: {
52
- company_name: 'TG',
53
- company_color: null,
54
- image: '',
55
- enable_redirect: false,
56
- url: null,
57
- high_load_customer: false,
58
- avoid_notify: false,
59
- request_feedback: true,
60
- request_demographic_details: true,
61
- },
62
- content_type_name: 'customer.assessment',
63
- video: null,
64
- video_at_end: false,
65
- use_snapshots: true,
66
- created: '2023-03-17T09:42:54.473239+02:00',
67
- permitted_extra_time_non_native_speakers: true,
68
- permitted_extra_time_person_for_other_capacities: true,
69
- language: 'en',
70
- },
71
- test_count: 1,
72
- custom_question_count: 0,
73
- knockout_question_count: 0,
74
- video_question_count: 0,
75
- file_question_count: 0,
76
- file_question_duration: '0.0',
77
- has_code_question: true,
78
- can_assessment_begin: {
79
- can_assessment_begin: true,
80
- message: 'Ok',
81
- reason: '',
82
- },
83
- age: null,
84
- ethnicity: [],
85
- ethnicity_other: '',
86
- english_native: null,
87
- gender: null,
88
- gender_other: '',
89
- country: null,
90
- is_english_native_language: true,
91
- has_accessibility_condition: false,
92
- accessibility_condition_description: null,
93
- accessibility_condition_disclose: false,
94
- accessibility_condition_requested: null,
95
- total_extra_time: 0,
96
- duration: '600.0',
97
- return_url: null,
98
- is_locked_for_mobile: false,
99
- is_numpad_warning: false,
100
- },
101
- currentTest: {
102
- id: 8764174,
103
- questions: [],
104
- date_of_expiry: '2023-03-31T07:42:55.372261+02:00',
105
- test_name: 'Python (coding): entry-level algorithms',
106
- intro_text: null,
107
- test_content_type: 'test_authoring.test',
108
- test_id: 46517,
109
- duration: '600.0',
110
- now: '2023-03-31 05:27:43.742931+00:00',
111
- has_preview: true,
112
- preview_questions: [
113
- {
114
- id: 190901,
115
- answers: [
116
- {
117
- id: 163901,
118
- text: '<p>There are 4 differences in the addresses.</p>',
119
- answer_uuid: null,
120
- },
121
- ],
122
- content_type_name: 'test_taker.questionresult',
123
- answer_text: '',
124
- retries: 0,
125
- review: null,
126
- question: {
127
- id: 190901,
128
- text: '<p>Write the FizzBuzz algorithm which returns an array of strings from 1 to N, but:</p><ul><li>For multiples of 3, prints “Fizz”</li><li>For multiples of 5, prints “Buzz”</li><li>For multiples of both 3 and 5 prints “FizzBuzz”</li></ul><p><br></p><p>The function takes an integer <code><strong>N</strong></code> as a parameter and returns the FizzBuzz sequence as an array of strings up to index <code><strong>N</strong></code>.</p><p><br></p><p>Examples:&nbsp;</p><p>Input: <code><strong>2</strong></code></p><p>Output: <code><strong>1,2</strong></code></p><p><br></p><p>Input: <code><strong>5</strong></code></p><p>Output: <code><strong>1,2,Fizz,4,Buzz</strong></code></p><p><br></p><p>Input: <code><strong>9</strong></code></p><p>Output: <code><strong>1,2,Fizz,4,Buzz,Fizz,7,8,Fizz</strong></code></p><p><br></p><p>Input: <code><strong>15</strong></code></p><p>Output: <code><strong>1,2,Fizz,4,Buzz,Fizz,7,8,Fizz,Buzz,11,Fizz,13,14,FizzBuzz</strong></code></p><p><br></p><p>For this preview question, we have already added the code that solves the challenge under the "Insert your code here" notation. Click <strong>Run Test</strong> to check the answer.&nbsp;</p><p><br></p><p>You see that the code works and all test cases pass. During your actual test, you can click <strong>Run Test</strong> as many times as you want to check your code. Your test will be scored based on your final code in the editor.</p><p><br></p><p>Note that test cases are only guidelines and don’t verify a fully correct answer. To calculate your final test score, your final code will be run against more test cases (including corner cases) to test it against all the requirements given in the question.</p><p><br></p><p>Your prospective employer can play back your session to see how and when you entered or pasted code into the editor and when you ran the code to check if it works.&nbsp;</p><p><br></p><p>If you’re ready, you can click <strong>Next</strong> to start your test. Alternatively, you can play around with the editor until the timer runs out and your test starts automatically. <strong>Do not close this window at any time. </strong>The timer will keep running.&nbsp;</p><p><br></p><p>Good luck!</p>',
129
- intro_text: null,
130
- type: 'code',
131
- answers: [],
132
- what_to_look_for_in_the_answer: '',
133
- initial_code:
134
- "def response( input ) :\n\t# Enter your code here\n\tresponse = []\n\tfor i in range(1, input + 1):\n\t\tif (i % 3 == 0) and (i % 5 == 0):\n\t\t\tresponse.append('FizzBuzz')\n\t\telif i % 3 == 0:\n\t\t\tresponse.append('Fizz')\n\t\telif i % 5 == 0:\n\t\t\tresponse.append('Buzz')\n\t\telse:\n\t\t\tresponse.append(i)\n\treturn response",
135
- code_language: 'python',
136
- typing_test_type: null,
137
- typing_test_config: null,
138
- typing_test_mode: {
139
- numbers: false,
140
- punctuation: false,
141
- funbox: 'none',
142
- sentences: false,
143
- },
144
- long_answer_list: false,
145
- max_items: 100,
146
- min_items: 0,
147
- },
148
- date_of_expiry: null,
149
- duration: 0,
150
- completed: false,
151
- order_answer: 1,
152
- resources: [],
153
- now: '2023-03-31T05:27:43.762392Z',
154
- test_result: {
155
- id: 8764174,
156
- typing_test_replay_data: '',
157
- is_replay_tampered: false,
158
- },
159
- },
160
- ],
161
- },
162
- currentQuestion: 1,
163
- assessmentStatus: 'preview',
164
- cameraPermissions: false,
165
- fullScreen: true,
166
- timerExpires: '2023-03-31T05:32:53.742Z',
167
- currentServerDatetime: '2023-03-31T05:27:43.742Z',
168
- currentLocalDatetime: '2023-03-31T05:27:43.515Z',
169
- timerDuration: 300,
170
- cameraSetup: true,
171
- validAnswers: true,
172
- currentAnswerArray: ['<p>There are 4 differences in the addresses.</p>'],
173
- };
174
-
175
- const TRANSLATIONS = {
176
- PRACTICE_QUESTIONS_STAGE: {
177
- INFO: 'Info',
178
- QUESTIONS_INDEXING: 'This is the first practice question.',
179
- QUESTIONS_INDEXING_AS_LAST: 'This is the first and last practice question.',
180
- },
181
- CODE_QUESTION: {
182
- PRACTICE_INTRODUCTION:
183
- 'The purpose of this question is to show you how coding tests work. You are not being scored for anything in this question.<br /><br />You have <strong>5 minutes</strong> to explore this practice question before your actual test begins.<br /><br /><strong>Do not close this window at any time.</strong> The countdown timer will keep running, and you will miss your test question if you close the window.<br /><br />A coding test asks you to write a piece of code to satisfy certain criteria. For this preview question, we will use the popular FizzBuzz example.<br /><br />Here are the instructions.',
184
- LANGUAGE_USING: 'For this test you’re using',
185
- ADD_COMMENTS:
186
- 'Feel free to add comments in your code explaining your solution.',
187
- },
188
- HEADINGS: {
189
- INSTRUCTIONS: 'Instructions',
190
- CODING: 'Coding Window',
191
- CONFIGURATIONS: 'Configurations',
192
- TESTS: 'Tests',
193
- FORMATTING: 'Formatting',
194
- CODING_ASSISTANCE: 'Coding Assistance',
195
- },
196
- TOOLTIPS: {
197
- RESET_CODE: 'Reset code',
198
- MAXIMISE: 'Click to view code-runner in full-screen',
199
- MINIMIZE: 'Minimize',
200
- CONFIGURATIONS: 'Configurations',
201
- CANT_ADD_TEST_CASE: 'You cannot add more than 6 of your own tests.',
202
- DELETE_TEST_CASE: 'Remove test case',
203
- HELP: 'Help',
204
- },
205
- TEST_RESULTS: {
206
- PASSED: 'Passed: ',
207
- ERROR: 'Error: ',
208
- TOTAL: 'Total: ',
209
- TEST_RUNNING: 'Running...',
210
- TESTS_CHECK: 'Run tests to check your code',
211
- RUN_TESTS: 'Run tests',
212
- TEST_CASES: {
213
- BOTH_FIELDS_MUST_BE_FILLED:
214
- 'To run the test, both the input and expected output must be filled in.',
215
- EXAMPLE_TEST_CASE_INFO:
216
- 'This is a test case example we recommend for this task. Run tests to get results.',
217
- FILL_ALL_FIELDS:
218
- 'Fill in the input and expected output, and run tests to get results.',
219
- OUTPUT: 'Output',
220
- LOG: 'Log',
221
- INPUT: 'Input',
222
- EXPECTED_OUTPUT: 'Expected output',
223
- STATUSES: {
224
- PASSED: 'Passed',
225
- ERROR: 'Error',
226
- EMPTY: 'Empty',
227
- },
228
- ADD_TEST_CASE: 'Add Test Case',
229
- },
230
- },
231
- };
232
-
233
- // Sample values to check the results bar
234
- const TEST_CASES_STATUS = {
235
- ok: 1,
236
- error: 1,
237
- total: 2,
238
- };
239
-
240
- // todo: remove if won't be used for unit tests
241
- export const CODING_LIB_MOCKS = {
242
- TEST_CASES_STATUS,
243
- STATE,
244
- TRANSLATIONS,
245
- INIT_CODES,
246
- };
@@ -1,18 +0,0 @@
1
- import { Themes } from './theme';
2
-
3
- export const enum FormattingOptions {
4
- ColorTheme = 'Color theme',
5
- TabSize = 'Tab size',
6
- FontSize = 'Font size',
7
- }
8
-
9
- export const enum CodingAssistanceOptions {
10
- AutoComplete = 'Auto-complete',
11
- ErrorHighlighting = 'Error highlighting',
12
- AutoBrackets = 'Auto-brackets',
13
- }
14
-
15
- export type ConfigValue = Themes | number | boolean;
16
- export type Config = {
17
- [key in FormattingOptions | CodingAssistanceOptions]?: ConfigValue;
18
- };
@@ -1,4 +0,0 @@
1
- export const enum LanguageChangeAction {
2
- Cancel = 'cancel',
3
- Confirm = 'confirm',
4
- }
@@ -1,12 +0,0 @@
1
- import { CodeEditorLanguages } from '../components/code-editor/helpers/code-editor-helper.model';
2
-
3
- export type LATLanguage = {
4
- label: string;
5
- value: CodeEditorLanguages;
6
- version?: string;
7
- };
8
-
9
- export type LATLanguages = LATLanguage[];
10
-
11
- // This is only used for LAT to enable auto saving for preview questions to let user see updated code whenever he switches back and forth between languages
12
- export const AssessmentIdPreview = 'preview-id';
@@ -1,3 +0,0 @@
1
- export const enum MixpanelEvents {
2
- ChangedSettings = 'Changed Coderunner setting',
3
- }
@@ -1,5 +0,0 @@
1
- export const enum Modes {
2
- Preview = 'preview',
3
- Running = 'running',
4
- NonAssessmentPreview = 'non-assessment-preview',
5
- }
@@ -1,4 +0,0 @@
1
- export interface PasteData {
2
- type: string;
3
- data: string;
4
- }
@@ -1,9 +0,0 @@
1
- export interface ProgrammingLanguage {
2
- id?: number;
3
- name?: string;
4
- version?: string;
5
- }
6
-
7
- export const enum ProgrammingLanguageVersioned {
8
- SQLite = 'sqlite3-3.36.0',
9
- }
@@ -1,74 +0,0 @@
1
- export type CustomTestCase = {
2
- localId?: number;
3
- name: string;
4
- // input is optional for sql test cases
5
- input?: string;
6
- expectedOutput: string;
7
- preloaded: boolean;
8
- };
9
-
10
- export type ExampleTestCase = CustomTestCase & {
11
- id: number;
12
- };
13
-
14
- export type TestCaseResult = {
15
- actualOutput: string;
16
- logs: string;
17
- status: TestCaseStatus;
18
- };
19
-
20
- export type AllowedModificationFields = {
21
- input: string;
22
- expectedOutput: string;
23
- };
24
-
25
- export enum TestCaseStatus {
26
- Passed = 'passed',
27
- Error = 'error',
28
- Empty = 'empty',
29
- }
30
-
31
- export interface TestCaseDeletionData {
32
- index: number;
33
- action: TestCaseDeletionAction;
34
- }
35
-
36
- export const enum TestCaseDeletionAction {
37
- Try = 'try',
38
- Confirm = 'confirm',
39
- }
40
-
41
- export interface LATFormattedTestCases {
42
- input: string;
43
- solution: string;
44
- }
45
-
46
- export interface SqlTestCase {
47
- id?: number;
48
- name: string;
49
- category: CategorySqlTestCaseEnum;
50
- /** Expected test case result */
51
- result?: string;
52
- initial_sql?: string;
53
- /** Previous sql query for checking */
54
- pre_sql?: string;
55
- /** Post sql query for checking */
56
- post_sql?: string;
57
- }
58
-
59
- export interface Testcase {
60
- id?: number;
61
- name: string;
62
- input?: string;
63
- solution?: string;
64
- points?: number;
65
- }
66
-
67
- export interface GroupedTestCasesResult {
68
- custom: { failed: number; passed: number },
69
- example: { failed: number; passed: number }
70
- }
71
-
72
- type CategorySqlTestCaseEnum =
73
- 'user' |
74
- 'validation';
@@ -1,5 +0,0 @@
1
- // Theme name must start with "theme-" !!!
2
- export const enum Themes {
3
- Default = 'theme-default',
4
- Dark = 'theme-dark',
5
- }
@@ -1 +0,0 @@
1
- export const ROOT_TRANSLATIONS_SCOPE = 'CODING_QUESTION';
@@ -1,6 +0,0 @@
1
- export enum ViewMode {
2
- Full = 'full',
3
- IDEOnly = 'ide',
4
- RunnableIde = 'runnable-ide',
5
- RunnableIdeWithLangSelector = 'runnable-ide-w-lang-selector',
6
- }
File without changes
@@ -1,40 +0,0 @@
1
- import { TestBed, waitForAsync } from '@angular/core/testing';
2
- import { CandidatureApiService } from './candidature-api.service';
3
- import { NO_ERRORS_SCHEMA } from '@angular/core';
4
- import { ApiService } from '@testgorilla/tgo-test-shared';
5
- import { of } from 'rxjs';
6
-
7
- // todo: add tests to check return type
8
- describe('CandidatureApiService', () => {
9
- let service: CandidatureApiService;
10
- let apiService: ApiService;
11
-
12
- beforeEach(waitForAsync(() => {
13
- TestBed.configureTestingModule({
14
- providers: [
15
- CandidatureApiService,
16
- {
17
- provide: ApiService,
18
- useValue: {
19
- get: jest.fn().mockReturnValue(of({})),
20
- },
21
- },
22
- ],
23
- schemas: [NO_ERRORS_SCHEMA],
24
- });
25
-
26
- service = TestBed.inject(CandidatureApiService);
27
- apiService = TestBed.inject(ApiService);
28
- }));
29
-
30
- describe('when getAvailableLanguages$ is called', () => {
31
- const expectedUrl = 'candidatures/test-results/programming-languages/';
32
-
33
- it('should call api service with GET and proper url', () => {
34
- const spy = jest.spyOn(apiService, 'get');
35
-
36
- service.getAvailableLanguages$();
37
- expect(spy).toHaveBeenCalledWith(expectedUrl);
38
- });
39
- });
40
- });
@@ -1,15 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ApiService } from '@testgorilla/tgo-test-shared';
3
- import { Observable } from 'rxjs';
4
-
5
- @Injectable()
6
- export class CandidatureApiService {
7
- constructor(
8
- private apiService: ApiService
9
- ) {
10
- }
11
-
12
- getAvailableLanguages$(): Observable<number[]> {
13
- return this.apiService.get('candidatures/test-results/programming-languages/');
14
- }
15
- }