@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,160 +0,0 @@
1
- import { functionParamsMock } from './code-editor.mocks';
2
- import { CodeEditorService } from './code-editor.service';
3
- import { CodeEditorJavascriptHelper } from './helpers';
4
- import { CodeEditorFuncOptions, CodeEditorLanguages } from './helpers/code-editor-helper.model';
5
-
6
- describe('CodeEditorService', () => {
7
- let service: CodeEditorService;
8
-
9
- const defaultLang = CodeEditorLanguages.Javascript;
10
- const defaultParams: CodeEditorFuncOptions = {
11
- params: [...functionParamsMock],
12
- name: 'mockFunction',
13
- returnType: 'boolean',
14
- };
15
- const jsHelper = new CodeEditorJavascriptHelper(defaultParams);
16
-
17
- beforeEach(() => {
18
- service = new CodeEditorService();
19
- service.setHelper(defaultLang, defaultParams);
20
- });
21
-
22
- describe('when setting helper', () => {
23
- describe('and passing Javascript', () => {
24
- it('should create helper for corresponding language', () => {
25
- expect(service.getEditorLang()).toEqual(defaultLang);
26
- });
27
- });
28
-
29
- describe('and passing Typescript', () => {
30
- it('should create helper for corresponding language', () => {
31
- service.setHelper(CodeEditorLanguages.Typescript, defaultParams);
32
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Typescript);
33
- });
34
- });
35
-
36
- describe('and passing Php', () => {
37
- it('should create helper for corresponding language', () => {
38
- service.setHelper(CodeEditorLanguages.Php, defaultParams);
39
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Php);
40
- });
41
- });
42
-
43
- describe('and passing Python', () => {
44
- it('should create helper for corresponding language', () => {
45
- service.setHelper(CodeEditorLanguages.Python, defaultParams);
46
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Python);
47
- });
48
- });
49
-
50
- describe('and passing Java', () => {
51
- it('should create helper for corresponding language', () => {
52
- service.setHelper(CodeEditorLanguages.Java, defaultParams);
53
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Java);
54
- });
55
- });
56
-
57
- describe('and passing Ruby', () => {
58
- it('should create helper for corresponding language', () => {
59
- service.setHelper(CodeEditorLanguages.Ruby, defaultParams);
60
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Ruby);
61
- });
62
- });
63
-
64
- describe('and passing C', () => {
65
- it('should create helper for corresponding language', () => {
66
- service.setHelper(CodeEditorLanguages.C, defaultParams);
67
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.C);
68
- });
69
- });
70
-
71
- describe('and passing C++', () => {
72
- it('should create helper for corresponding language', () => {
73
- service.setHelper(CodeEditorLanguages.Cpp, defaultParams);
74
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.CppEditor);
75
- });
76
- });
77
-
78
- describe('and passing R', () => {
79
- it('should create helper for corresponding language', () => {
80
- service.setHelper(CodeEditorLanguages.R, defaultParams);
81
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.R);
82
- });
83
- });
84
-
85
- describe('and passing Scala', () => {
86
- it('should create helper for corresponding language', () => {
87
- service.setHelper(CodeEditorLanguages.Scala, defaultParams);
88
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Scala);
89
- });
90
- });
91
-
92
- describe('and passing C#', () => {
93
- it('should create helper for corresponding language', () => {
94
- service.setHelper(CodeEditorLanguages.CSharp, defaultParams);
95
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.CSharpEditor);
96
- });
97
- });
98
-
99
- describe('and passing C#_legacy', () => {
100
- it('should create helper for corresponding language', () => {
101
- service.setHelper(CodeEditorLanguages.CSharpLegacy, defaultParams);
102
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.CSharpEditor);
103
- });
104
- });
105
-
106
- describe('and passing Go', () => {
107
- it('should create helper for corresponding language', () => {
108
- service.setHelper(CodeEditorLanguages.Go, defaultParams);
109
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Go);
110
- });
111
- });
112
-
113
- describe('and passing SQL', () => {
114
- it('should create helper for corresponding language', () => {
115
- service.setHelper(CodeEditorLanguages.Sql, defaultParams);
116
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Sql);
117
- });
118
- });
119
-
120
- describe('and passing sqlite3', () => {
121
- it('should create helper for SQL language', () => {
122
- service.setHelper(CodeEditorLanguages.Sqlite, defaultParams);
123
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Sql);
124
- });
125
- });
126
-
127
- describe('and passing Kotlin', () => {
128
- it('should create helper for corresponding language', () => {
129
- service.setHelper(`${CodeEditorLanguages.Kotlin}_1.10`, defaultParams);
130
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Kotlin);
131
- });
132
- });
133
-
134
- describe('and passing Swift', () => {
135
- it('should create helper for corresponding language', () => {
136
- service.setHelper(`${CodeEditorLanguages.Swift}_1.10`, defaultParams);
137
- expect(service.getEditorLang()).toEqual(CodeEditorLanguages.Swift);
138
- });
139
- });
140
-
141
- describe('and passing unknown language', () => {
142
- it('should throw an error', () => {
143
- const randomLang = 'randomLang';
144
- try {
145
- service.setHelper(randomLang, defaultParams);
146
- } catch (e) {
147
- expect(e.message).toEqual(`language ${randomLang} is not supported`);
148
- }
149
- });
150
- });
151
- });
152
-
153
- describe('when getting init code', () => {
154
- it('should return init code', () => {
155
- const result = service.getInitCode();
156
-
157
- expect(result).toEqual(jsHelper.getInitCode());
158
- });
159
- });
160
- });
@@ -1,94 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import {
3
- CodeEditorCHelper,
4
- CodeEditorCppHelper,
5
- CodeEditorCSharpHelper,
6
- CodeEditorGoHelper,
7
- CodeEditorJavaHelper,
8
- CodeEditorJavascriptHelper,
9
- CodeEditorKotlinHelper,
10
- CodeEditorPhpHelper,
11
- CodeEditorPythonHelper,
12
- CodeEditorRHelper,
13
- CodeEditorRubyHelper,
14
- CodeEditorScalaHelper,
15
- CodeEditorSqlHelper,
16
- CodeEditorSwiftHelper,
17
- CodeEditorTypescriptHelper,
18
- } from './helpers';
19
- import {
20
- CodeEditorFuncOptions,
21
- CodeEditorHelper,
22
- CodeEditorLanguages,
23
- } from './helpers/code-editor-helper.model';
24
-
25
- @Injectable({
26
- providedIn: 'root',
27
- })
28
- export class CodeEditorService {
29
- private helper: CodeEditorHelper;
30
-
31
- setHelper(language: string, funcParams: CodeEditorFuncOptions): void {
32
- this.helper = this.createHelper(language, funcParams);
33
- }
34
-
35
- getInitCode(): string {
36
- return this.helper.getInitCode();
37
- }
38
-
39
- getEditorLang(): string {
40
- return this.helper.getEditorLang();
41
- }
42
-
43
- private createHelper(lang: string, funcParams: CodeEditorFuncOptions): CodeEditorHelper {
44
- // todo: review this logic according to new TAT, remove generated init code if not needed ?
45
- switch (lang as CodeEditorLanguages) {
46
- case CodeEditorLanguages.Javascript:
47
- return new CodeEditorJavascriptHelper(funcParams);
48
- case CodeEditorLanguages.Typescript:
49
- return new CodeEditorTypescriptHelper(funcParams);
50
- case CodeEditorLanguages.Php:
51
- return new CodeEditorPhpHelper(funcParams);
52
- case CodeEditorLanguages.Python:
53
- return new CodeEditorPythonHelper(funcParams);
54
- case CodeEditorLanguages.Java:
55
- return new CodeEditorJavaHelper(funcParams);
56
- case CodeEditorLanguages.Ruby:
57
- return new CodeEditorRubyHelper(funcParams);
58
- case CodeEditorLanguages.C:
59
- return new CodeEditorCHelper(funcParams);
60
- case CodeEditorLanguages.Cpp:
61
- return new CodeEditorCppHelper(funcParams);
62
- case CodeEditorLanguages.R:
63
- return new CodeEditorRHelper(funcParams);
64
- case CodeEditorLanguages.Scala:
65
- return new CodeEditorScalaHelper(funcParams);
66
- case CodeEditorLanguages.CSharp:
67
- case CodeEditorLanguages.CSharpLegacy:
68
- return new CodeEditorCSharpHelper(funcParams);
69
- case CodeEditorLanguages.Go:
70
- return new CodeEditorGoHelper(funcParams);
71
- case CodeEditorLanguages.Sql:
72
- case CodeEditorLanguages.Sqlite:
73
- return new CodeEditorSqlHelper(funcParams);
74
- default: {
75
- const versionedHelper = lang && this.getVersionedHelper(lang, funcParams);
76
-
77
- if (!versionedHelper) {
78
- throw new Error(`language ${lang} is not supported`);
79
- }
80
-
81
- return versionedHelper;
82
- }
83
- }
84
- }
85
-
86
- private getVersionedHelper(lang: string, funcParams: CodeEditorFuncOptions): CodeEditorHelper {
87
- if (lang.startsWith(CodeEditorLanguages.Kotlin)) {
88
- return new CodeEditorKotlinHelper(funcParams);
89
- }
90
- if (lang.startsWith(CodeEditorLanguages.Swift)) {
91
- return new CodeEditorSwiftHelper(funcParams);
92
- }
93
- }
94
- }
@@ -1,39 +0,0 @@
1
- import { CodeEditorCHelper } from './c-helper';
2
- import { defaultFuncParams } from './code-editor-helper.mocks';
3
-
4
- describe('CodeEditorCHelper', () => {
5
- let helper: CodeEditorCHelper;
6
-
7
- const defaultParams = { ...defaultFuncParams };
8
- const correctFuncOpening =
9
- 'bool mockFunction(bool param1, int param2, double param3, float param4, char * param5, bool * param6, int * param7, float * param8) {\n';
10
- const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}`;
11
-
12
- beforeEach(() => {
13
- helper = new CodeEditorCHelper(defaultParams);
14
- });
15
-
16
- describe('when getting init code', () => {
17
- let result: string;
18
-
19
- beforeEach(() => {
20
- result = helper.getInitCode();
21
- });
22
-
23
- it('should return proper init code', () => {
24
- expect(result).toEqual(correctInitCode);
25
- });
26
- });
27
-
28
- describe('when getting func opening', () => {
29
- let result: string;
30
-
31
- beforeEach(() => {
32
- result = helper.getFunctionOpening();
33
- });
34
-
35
- it('should return proper func opening', () => {
36
- expect(result).toEqual(correctFuncOpening);
37
- });
38
- });
39
- });
@@ -1,51 +0,0 @@
1
- import { CodeEditorHelperBase } from './code-editor-helper.base';
2
- import {
3
- CodeEditorFuncOptions,
4
- CodeEditorHelper,
5
- CodeEditorLanguages,
6
- CodeEditorTypesMap,
7
- } from './code-editor-helper.model';
8
-
9
- export class CodeEditorCHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
- language = CodeEditorLanguages.C;
11
- typesMap: CodeEditorTypesMap = {
12
- boolean: 'bool',
13
- int: 'int',
14
- number: 'int',
15
- double: 'double',
16
- float: 'float',
17
- str: 'char *',
18
- array_boolean: 'bool *',
19
- array_int: 'int *',
20
- array_float: 'float *',
21
- array_double: 'double *',
22
- };
23
-
24
- constructor(private functionOptions: CodeEditorFuncOptions) {
25
- super();
26
- }
27
-
28
- getInitCode(): string {
29
- return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
30
- }
31
-
32
- getFunctionOpening(): string {
33
- const { name: funcName, returnType } = this.functionOptions;
34
- const params = this.getParamsString();
35
- const showingReturnType = this.parseType(returnType);
36
-
37
- return `${showingReturnType} ${funcName}(${params}) {\n`;
38
- }
39
-
40
- private getParamsString(): string {
41
- const { params } = this.functionOptions;
42
- let paramsString = '';
43
-
44
- if (params && params.length > 0) {
45
- params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
46
- paramsString = paramsString.slice(0, -2);
47
- }
48
-
49
- return paramsString;
50
- }
51
- }
@@ -1,30 +0,0 @@
1
- import { CodeEditorHelperBase } from './code-editor-helper.base';
2
- import { CodeEditorLanguages } from './code-editor-helper.model';
3
-
4
- class Helper extends CodeEditorHelperBase {
5
- language = CodeEditorLanguages.Javascript;
6
-
7
- getFunctionOpening(): string {
8
- return 'func opening\n';
9
- }
10
- }
11
-
12
- describe('CodeEditorHelperBase', () => {
13
- let helper: Helper;
14
-
15
- beforeEach(() => {
16
- helper = new Helper();
17
- });
18
-
19
- describe('when getting editor language', () => {
20
- let result: string;
21
-
22
- beforeEach(() => {
23
- result = helper.getEditorLang();
24
- });
25
-
26
- it('should return helper language', () => {
27
- expect(result).toEqual(CodeEditorLanguages.Javascript);
28
- });
29
- });
30
- });
@@ -1,16 +0,0 @@
1
- import { CodeEditorLanguages, CodeEditorTypesMap } from './code-editor-helper.model';
2
-
3
- export abstract class CodeEditorHelperBase {
4
- protected language: CodeEditorLanguages;
5
- protected typesMap: CodeEditorTypesMap;
6
-
7
- abstract getFunctionOpening(): string;
8
-
9
- getEditorLang(): CodeEditorLanguages {
10
- return this.language;
11
- }
12
-
13
- protected parseType(type: keyof CodeEditorTypesMap): string {
14
- return this.typesMap[type];
15
- }
16
- }
@@ -1,24 +0,0 @@
1
- import { CodeEditorFuncOptions } from './code-editor-helper.model';
2
-
3
- export const initCodeMock = 'export function mock(param1, param2) { return param1; }';
4
-
5
- export const defaultFuncParams: CodeEditorFuncOptions = {
6
- params: [
7
- {
8
- name: 'param1',
9
- type: 'boolean',
10
- },
11
- {
12
- name: 'param2',
13
- type: 'int',
14
- },
15
- { name: 'param3', type: 'double' },
16
- { name: 'param4', type: 'float' },
17
- { name: 'param5', type: 'str' },
18
- { name: 'param6', type: 'array_boolean' },
19
- { name: 'param7', type: 'array_int' },
20
- { name: 'param8', type: 'array_float' },
21
- ],
22
- name: 'mockFunction',
23
- returnType: 'boolean',
24
- };
@@ -1,67 +0,0 @@
1
- export interface CodeEditorHelper {
2
- getInitCode?(): string;
3
- getEditorLang(): string;
4
- }
5
-
6
- export const enum CodeEditorLanguages {
7
- Javascript = 'javascript',
8
- Typescript = 'typescript',
9
- Elixir = 'elixir',
10
- Rust = 'rust',
11
- Dart = 'dart',
12
- Erlang = 'erlang',
13
- Julia = 'julia',
14
- Perl = 'perl',
15
- Php = 'php',
16
- Python = 'python',
17
- Java = 'java',
18
- Kotlin = 'kotlin',
19
- Ruby = 'ruby',
20
- C = 'c',
21
- Cpp = 'c++',
22
- CppEditor = 'cpp',
23
- R = 'r',
24
- Swift = 'swift',
25
- Scala = 'scala',
26
- CSharp = 'c#',
27
- CSharpEditor = 'csharp',
28
- CSharpLegacy = 'c#_legacy',
29
- Go = 'go',
30
- Sql = 'sql',
31
- Sqlite = 'sqlite3',
32
- }
33
-
34
- export const enum CodeEditorSqlOperations {
35
- Select = 'SELECT',
36
- Update = 'UPDATE',
37
- Insert = 'INSERT',
38
- Delete = 'DELETE',
39
- CreateTable = 'CREATE TABLE',
40
- }
41
-
42
- export interface CodeEditorFuncOptions {
43
- name?: string | CodeEditorSqlOperations;
44
- params?: CodeEditorFuncParam[];
45
- returnType?: keyof CodeEditorTypesMap;
46
- }
47
-
48
- export interface CodeEditorFuncParam {
49
- id?: string;
50
- name?: string;
51
- order?: string;
52
- type?: keyof CodeEditorTypesMap;
53
- }
54
-
55
- export interface CodeEditorTypesMap {
56
- boolean: string;
57
- int: string;
58
- number?: string;
59
- double: string;
60
- float: string;
61
- str: string;
62
- array_boolean: string;
63
- array_int: string;
64
- array_float: string;
65
- array_double?: string;
66
- array_str?: string;
67
- }
@@ -1,40 +0,0 @@
1
- import { defaultFuncParams } from './code-editor-helper.mocks';
2
- import { CodeEditorCppHelper } from './cpp-helper';
3
-
4
- describe('CodeEditorCppHelper', () => {
5
- let helper: CodeEditorCppHelper;
6
-
7
- const defaultParams = { ...defaultFuncParams };
8
- const paramsList =
9
- 'bool param1, int param2, double param3, float param4, std::string param5, std::vector<bool> param6, std::vector<int> param7, std::vector<float> param8';
10
- const correctFuncOpening = `bool mockFunction(${paramsList}) {\n`;
11
- const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}`;
12
-
13
- beforeEach(() => {
14
- helper = new CodeEditorCppHelper(defaultParams);
15
- });
16
-
17
- describe('when getting init code', () => {
18
- let result: string;
19
-
20
- beforeEach(() => {
21
- result = helper.getInitCode();
22
- });
23
-
24
- it('should return proper init code', () => {
25
- expect(result).toEqual(correctInitCode);
26
- });
27
- });
28
-
29
- describe('when getting func opening', () => {
30
- let result: string;
31
-
32
- beforeEach(() => {
33
- result = helper.getFunctionOpening();
34
- });
35
-
36
- it('should return proper func opening', () => {
37
- expect(result).toEqual(correctFuncOpening);
38
- });
39
- });
40
- });
@@ -1,52 +0,0 @@
1
- import { CodeEditorHelperBase } from './code-editor-helper.base';
2
- import {
3
- CodeEditorFuncOptions,
4
- CodeEditorHelper,
5
- CodeEditorLanguages,
6
- CodeEditorTypesMap,
7
- } from './code-editor-helper.model';
8
-
9
- export class CodeEditorCppHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
- language = CodeEditorLanguages.CppEditor;
11
- typesMap: CodeEditorTypesMap = {
12
- boolean: 'bool',
13
- int: 'int',
14
- number: 'int',
15
- double: 'double',
16
- float: 'float',
17
- str: 'std::string',
18
- array_boolean: 'std::vector<bool>',
19
- array_int: 'std::vector<int>',
20
- array_float: 'std::vector<float>',
21
- array_double: 'std::vector<double>',
22
- array_str: 'std::vector<std::string>',
23
- };
24
-
25
- constructor(private functionOptions: CodeEditorFuncOptions) {
26
- super();
27
- }
28
-
29
- getInitCode(): string {
30
- return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
31
- }
32
-
33
- getFunctionOpening(): string {
34
- const { name: funcName, returnType } = this.functionOptions;
35
- const params = this.getParamsString();
36
- const showingReturnType = this.parseType(returnType);
37
-
38
- return `${showingReturnType} ${funcName}(${params}) {\n`;
39
- }
40
-
41
- private getParamsString(): string {
42
- const { params } = this.functionOptions;
43
- let paramsString = '';
44
-
45
- if (params && params.length > 0) {
46
- params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
47
- paramsString = paramsString.slice(0, -2);
48
- }
49
-
50
- return paramsString;
51
- }
52
- }
@@ -1,42 +0,0 @@
1
- import { defaultFuncParams } from './code-editor-helper.mocks';
2
- import { CodeEditorCSharpHelper } from './csharp-helper';
3
-
4
- describe('CodeEditorCSharpHelper', () => {
5
- let helper: CodeEditorCSharpHelper;
6
-
7
- const defaultParams = { ...defaultFuncParams };
8
- const paramsList =
9
- 'bool param1, int param2, double param3, float param4, string param5, bool[] param6, int[] param7, Float[] param8';
10
- const correctFuncOpening = `\t\tpublic static bool mockFunction(${paramsList}) {\n`;
11
- const importText =
12
- 'using System;\nusing System.Linq;\nnamespace TestTaker\n{\n\tpublic static class CustomCode\n\t{\n';
13
- const correctInitCode = `${importText}${correctFuncOpening}\t\t //Insert your code here \n\t\t}\n\t}\n}`;
14
-
15
- beforeEach(() => {
16
- helper = new CodeEditorCSharpHelper(defaultParams);
17
- });
18
-
19
- describe('when getting init code', () => {
20
- let result: string;
21
-
22
- beforeEach(() => {
23
- result = helper.getInitCode();
24
- });
25
-
26
- it('should return proper init code', () => {
27
- expect(result).toEqual(correctInitCode);
28
- });
29
- });
30
-
31
- describe('when getting func opening', () => {
32
- let result: string;
33
-
34
- beforeEach(() => {
35
- result = helper.getFunctionOpening();
36
- });
37
-
38
- it('should return proper func opening', () => {
39
- expect(result).toEqual(correctFuncOpening);
40
- });
41
- });
42
- });
@@ -1,55 +0,0 @@
1
- import { CodeEditorHelperBase } from './code-editor-helper.base';
2
- import {
3
- CodeEditorFuncOptions,
4
- CodeEditorHelper,
5
- CodeEditorLanguages,
6
- CodeEditorTypesMap,
7
- } from './code-editor-helper.model';
8
-
9
- export class CodeEditorCSharpHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
- language = CodeEditorLanguages.CSharpEditor;
11
- typesMap: CodeEditorTypesMap = {
12
- boolean: 'bool',
13
- int: 'int',
14
- number: 'int',
15
- double: 'double',
16
- float: 'float',
17
- str: 'string',
18
- array_boolean: 'bool[]',
19
- array_int: 'int[]',
20
- array_float: 'Float[]',
21
- array_double: 'double[]',
22
- array_str: 'string[]',
23
- };
24
-
25
- private importText =
26
- 'using System;\nusing System.Linq;\nnamespace TestTaker\n{\n\tpublic static class CustomCode\n\t{\n';
27
-
28
- constructor(private functionOptions: CodeEditorFuncOptions) {
29
- super();
30
- }
31
-
32
- getInitCode(): string {
33
- return `${this.importText}${this.getFunctionOpening()}\t\t //Insert your code here \n\t\t}\n\t}\n}`;
34
- }
35
-
36
- getFunctionOpening(): string {
37
- const { name: funcName, returnType } = this.functionOptions;
38
- const params = this.getParamsString();
39
- const showingReturnType = this.parseType(returnType);
40
-
41
- return `\t\tpublic static ${showingReturnType} ${funcName}(${params}) {\n`;
42
- }
43
-
44
- private getParamsString(): string {
45
- const { params } = this.functionOptions;
46
- let paramsString = '';
47
-
48
- if (params && params.length > 0) {
49
- params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
50
- paramsString = paramsString.slice(0, -2);
51
- }
52
-
53
- return paramsString;
54
- }
55
- }