@testgorilla/tgo-coding-test 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/testgorilla-tgo-coding-test.mjs +4526 -0
- package/fesm2022/testgorilla-tgo-coding-test.mjs.map +1 -0
- package/{src/index.ts → index.d.ts} +2 -19
- package/lib/components/code-editor/code-editor.component.d.ts +54 -0
- package/lib/components/code-editor/code-editor.service.d.ts +12 -0
- package/lib/components/code-editor/helpers/c-helper.d.ts +11 -0
- package/lib/components/code-editor/helpers/code-editor-helper.base.d.ts +8 -0
- package/lib/components/code-editor/helpers/code-editor-helper.model.d.ts +62 -0
- package/lib/components/code-editor/helpers/cpp-helper.d.ts +11 -0
- package/lib/components/code-editor/helpers/csharp-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/go-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/java-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/javascript-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/kotlin-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/php-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/python-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/r-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/ruby-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/scala-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/sql-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/swift-helper.d.ts +11 -0
- package/lib/components/code-editor/helpers/typescript-helper.d.ts +11 -0
- package/lib/components/code-editor/models/code-editor.model.d.ts +8 -0
- package/lib/components/code-editor/models/coding-snapshot.model.d.ts +4 -0
- package/lib/components/coding-question/coding-question.component.d.ts +45 -0
- package/lib/components/coding-section/coding-section.component.d.ts +52 -0
- package/lib/components/common/truncated-text/truncated-text.component.d.ts +13 -0
- package/lib/components/configurations/configurations.component.d.ts +40 -0
- package/lib/components/instructions/instructions.component.d.ts +48 -0
- package/lib/components/panel/panel.component.d.ts +12 -0
- package/lib/components/runnable-editor/runnable-editor.component.d.ts +53 -0
- package/lib/components/tests/test-cases/test-cases.component.d.ts +46 -0
- package/lib/components/tests/test-cases-content/test-cases-content.component.d.ts +26 -0
- package/lib/components/tests/test-cases-status/test-cases-status.component.d.ts +9 -0
- package/lib/components/tests/test-results.component.d.ts +33 -0
- package/lib/components/tgo-coding-test/tgo-coding-test.component.d.ts +69 -0
- package/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.d.ts +101 -0
- package/{src/lib/config/index.ts → lib/config/index.d.ts} +0 -1
- package/lib/config/tgo-coding-test.config.d.ts +24 -0
- package/{src/lib/config/tgo-coding-test.provider.ts → lib/config/tgo-coding-test.provider.d.ts} +6 -18
- package/lib/config/tgo-coding-test.token.d.ts +9 -0
- package/lib/models/auto-saved-data.d.ts +42 -0
- package/lib/models/code-event.d.ts +15 -0
- package/lib/models/coderunner-execution-results.d.ts +51 -0
- package/lib/models/configs.d.ts +15 -0
- package/lib/models/language-change-action.d.ts +4 -0
- package/lib/models/lat-languages.d.ts +8 -0
- package/lib/models/mixpanel-events.d.ts +3 -0
- package/lib/models/mode.d.ts +5 -0
- package/lib/models/paste-data.d.ts +4 -0
- package/lib/models/programming-language.d.ts +8 -0
- package/lib/models/test-cases.d.ts +67 -0
- package/lib/models/theme.d.ts +4 -0
- package/lib/models/translations.d.ts +1 -0
- package/lib/models/view-mode.d.ts +6 -0
- package/{src/lib/pipes/memoize-func.pipe.ts → lib/pipes/memoize-func.pipe.d.ts} +6 -14
- package/lib/services/candidate-coding-test-services/candidature-api.service.d.ts +10 -0
- package/lib/services/candidate-coding-test-services/coderunner-api.service.d.ts +18 -0
- package/lib/services/candidate-coding-test-services/coding-test-tour.service.d.ts +22 -0
- package/lib/services/candidate-coding-test-services/coding-test.service.d.ts +68 -0
- package/{src/lib/services/candidate-coding-test-services/index.ts → lib/services/candidate-coding-test-services/index.d.ts} +1 -1
- package/lib/services/coding-test-config.service.d.ts +38 -0
- package/lib/services/configurations.service.d.ts +37 -0
- package/lib/services/lib-coding-test.service.d.ts +69 -0
- package/lib/services/storage.service.d.ts +83 -0
- package/lib/services/test-cases.service.d.ts +12 -0
- package/lib/services/theme.service.d.ts +17 -0
- package/lib/utils/additional-languages/erlang.d.ts +37 -0
- package/lib/utils/resize-element.d.ts +2 -0
- package/lib/utils/time-to-ms.util.d.ts +1 -0
- package/package.json +17 -3
- package/shared/index.d.ts +4 -0
- package/shared/lib/components/audio-animation/audio-animation.component.d.ts +27 -0
- package/shared/lib/components/audio-animation/index.d.ts +1 -0
- package/shared/lib/components/index.d.ts +2 -0
- package/shared/lib/components/vimeo-video/index.d.ts +1 -0
- package/shared/lib/components/vimeo-video/vimeo-video.component.d.ts +24 -0
- package/shared/lib/models/answer.d.ts +17 -0
- package/shared/lib/models/assessment.d.ts +80 -0
- package/shared/lib/models/environment.d.ts +1 -0
- package/shared/lib/models/index.d.ts +8 -0
- package/shared/lib/models/question-component.d.ts +54 -0
- package/shared/lib/models/question.d.ts +102 -0
- package/shared/lib/models/test.d.ts +81 -0
- package/shared/lib/models/translations.d.ts +1 -0
- package/shared/lib/models/window.d.ts +6 -0
- package/shared/lib/services/api/api.service.d.ts +25 -0
- package/shared/lib/services/api/mocked-api.service.d.ts +35 -0
- package/shared/lib/services/environment/environment.service.d.ts +6 -0
- package/shared/lib/services/index.d.ts +9 -0
- package/shared/lib/services/localization/languages.model.d.ts +15 -0
- package/shared/lib/services/localization/transloco-lazy-module-utils.d.ts +11 -0
- package/shared/lib/services/localization/transloco-testing.module.d.ts +2 -0
- package/shared/lib/services/media/media.service.d.ts +29 -0
- package/shared/lib/services/mixpanel/mixpanel.service.d.ts +10 -0
- package/shared/lib/services/theme/theme.service.d.ts +8 -0
- package/shared/test-mocks/assessment-test.mock.d.ts +21 -0
- package/shared/test-mocks/index.d.ts +2 -0
- package/shared/test-mocks/tgo-ui.mock.d.ts +21 -0
- package/.eslintrc.json +0 -46
- package/jest.config.ts +0 -26
- package/ng-package.json +0 -14
- package/project.json +0 -48
- package/src/lib/components/.gitkeep +0 -0
- package/src/lib/components/code-editor/code-editor.component.html +0 -10
- package/src/lib/components/code-editor/code-editor.component.scss +0 -21
- package/src/lib/components/code-editor/code-editor.component.spec.ts +0 -136
- package/src/lib/components/code-editor/code-editor.component.ts +0 -368
- package/src/lib/components/code-editor/code-editor.mocks.ts +0 -28
- package/src/lib/components/code-editor/code-editor.service.spec.ts +0 -160
- package/src/lib/components/code-editor/code-editor.service.ts +0 -94
- package/src/lib/components/code-editor/helpers/c-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/c-helper.ts +0 -51
- package/src/lib/components/code-editor/helpers/code-editor-helper.base.spec.ts +0 -30
- package/src/lib/components/code-editor/helpers/code-editor-helper.base.ts +0 -16
- package/src/lib/components/code-editor/helpers/code-editor-helper.mocks.ts +0 -24
- package/src/lib/components/code-editor/helpers/code-editor-helper.model.ts +0 -67
- package/src/lib/components/code-editor/helpers/cpp-helper.spec.ts +0 -40
- package/src/lib/components/code-editor/helpers/cpp-helper.ts +0 -52
- package/src/lib/components/code-editor/helpers/csharp-helper.spec.ts +0 -42
- package/src/lib/components/code-editor/helpers/csharp-helper.ts +0 -55
- package/src/lib/components/code-editor/helpers/go-helper.spec.ts +0 -41
- package/src/lib/components/code-editor/helpers/go-helper.ts +0 -54
- package/src/lib/components/code-editor/helpers/java-helper.spec.ts +0 -41
- package/src/lib/components/code-editor/helpers/java-helper.ts +0 -54
- package/src/lib/components/code-editor/helpers/javascript-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/javascript-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/kotlin-helper.spec.ts +0 -41
- package/src/lib/components/code-editor/helpers/kotlin-helper.ts +0 -54
- package/src/lib/components/code-editor/helpers/php-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/php-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/python-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/python-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/r-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/r-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/ruby-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/ruby-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/scala-helper.spec.ts +0 -41
- package/src/lib/components/code-editor/helpers/scala-helper.ts +0 -53
- package/src/lib/components/code-editor/helpers/sql-helper.spec.ts +0 -87
- package/src/lib/components/code-editor/helpers/sql-helper.ts +0 -44
- package/src/lib/components/code-editor/helpers/swift-helper.spec.ts +0 -40
- package/src/lib/components/code-editor/helpers/swift-helper.ts +0 -51
- package/src/lib/components/code-editor/helpers/typescript-helper.spec.ts +0 -40
- package/src/lib/components/code-editor/helpers/typescript-helper.ts +0 -52
- package/src/lib/components/code-editor/models/code-editor.model.ts +0 -9
- package/src/lib/components/code-editor/models/coding-snapshot.model.ts +0 -4
- package/src/lib/components/coding-question/coding-question.component.html +0 -78
- package/src/lib/components/coding-question/coding-question.component.scss +0 -75
- package/src/lib/components/coding-question/coding-question.component.spec.ts +0 -85
- package/src/lib/components/coding-question/coding-question.component.ts +0 -101
- package/src/lib/components/coding-section/coding-section.component.html +0 -82
- package/src/lib/components/coding-section/coding-section.component.scss +0 -64
- package/src/lib/components/coding-section/coding-section.component.spec.ts +0 -257
- package/src/lib/components/coding-section/coding-section.component.ts +0 -186
- package/src/lib/components/coding-test.module.ts +0 -124
- package/src/lib/components/common/truncated-text/truncated-text.component.html +0 -6
- package/src/lib/components/common/truncated-text/truncated-text.component.scss +0 -18
- package/src/lib/components/common/truncated-text/truncated-text.component.spec.ts +0 -84
- package/src/lib/components/common/truncated-text/truncated-text.component.ts +0 -36
- package/src/lib/components/configurations/configurations.component.html +0 -57
- package/src/lib/components/configurations/configurations.component.scss +0 -42
- package/src/lib/components/configurations/configurations.component.spec.ts +0 -186
- package/src/lib/components/configurations/configurations.component.ts +0 -97
- package/src/lib/components/instructions/instructions.component.html +0 -41
- package/src/lib/components/instructions/instructions.component.scss +0 -173
- package/src/lib/components/instructions/instructions.component.spec.ts +0 -106
- package/src/lib/components/instructions/instructions.component.ts +0 -137
- package/src/lib/components/panel/panel.component.html +0 -19
- package/src/lib/components/panel/panel.component.scss +0 -41
- package/src/lib/components/panel/panel.component.spec.ts +0 -40
- package/src/lib/components/panel/panel.component.ts +0 -33
- package/src/lib/components/runnable-editor/runnable-editor.component.html +0 -75
- package/src/lib/components/runnable-editor/runnable-editor.component.scss +0 -55
- package/src/lib/components/runnable-editor/runnable-editor.component.spec.ts +0 -124
- package/src/lib/components/runnable-editor/runnable-editor.component.ts +0 -154
- package/src/lib/components/tests/test-cases/test-cases.component.html +0 -135
- package/src/lib/components/tests/test-cases/test-cases.component.scss +0 -220
- package/src/lib/components/tests/test-cases/test-cases.component.spec.ts +0 -401
- package/src/lib/components/tests/test-cases/test-cases.component.ts +0 -204
- package/src/lib/components/tests/test-cases-content/test-cases-content.component.html +0 -94
- package/src/lib/components/tests/test-cases-content/test-cases-content.component.scss +0 -103
- package/src/lib/components/tests/test-cases-content/test-cases-content.component.spec.ts +0 -122
- package/src/lib/components/tests/test-cases-content/test-cases-content.component.ts +0 -101
- package/src/lib/components/tests/test-cases-status/test-cases-status.component.html +0 -16
- package/src/lib/components/tests/test-cases-status/test-cases-status.component.scss +0 -49
- package/src/lib/components/tests/test-cases-status/test-cases-status.component.spec.ts +0 -22
- package/src/lib/components/tests/test-cases-status/test-cases-status.component.ts +0 -17
- package/src/lib/components/tests/test-results.component.html +0 -119
- package/src/lib/components/tests/test-results.component.scss +0 -189
- package/src/lib/components/tests/test-results.component.spec.ts +0 -140
- package/src/lib/components/tests/test-results.component.ts +0 -97
- package/src/lib/components/tgo-coding-test/tgo-coding-test.component.html +0 -96
- package/src/lib/components/tgo-coding-test/tgo-coding-test.component.scss +0 -6
- package/src/lib/components/tgo-coding-test/tgo-coding-test.component.spec.ts +0 -599
- package/src/lib/components/tgo-coding-test/tgo-coding-test.component.ts +0 -278
- package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.html +0 -36
- package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.scss +0 -183
- package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.spec.ts +0 -883
- package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.ts +0 -578
- package/src/lib/config/tgo-coding-test.config.ts +0 -26
- package/src/lib/config/tgo-coding-test.token.ts +0 -21
- package/src/lib/models/.gitkeep +0 -0
- package/src/lib/models/auto-saved-data.ts +0 -51
- package/src/lib/models/code-event.ts +0 -17
- package/src/lib/models/coderunner-execution-results.ts +0 -58
- package/src/lib/models/coding-lib.mocks.ts +0 -246
- package/src/lib/models/configs.ts +0 -18
- package/src/lib/models/language-change-action.ts +0 -4
- package/src/lib/models/lat-languages.ts +0 -12
- package/src/lib/models/mixpanel-events.ts +0 -3
- package/src/lib/models/mode.ts +0 -5
- package/src/lib/models/paste-data.ts +0 -4
- package/src/lib/models/programming-language.ts +0 -9
- package/src/lib/models/test-cases.ts +0 -74
- package/src/lib/models/theme.ts +0 -5
- package/src/lib/models/translations.ts +0 -1
- package/src/lib/models/view-mode.ts +0 -6
- package/src/lib/services/.gitkeep +0 -0
- package/src/lib/services/candidate-coding-test-services/candidature-api.service.spec.ts +0 -40
- package/src/lib/services/candidate-coding-test-services/candidature-api.service.ts +0 -15
- package/src/lib/services/candidate-coding-test-services/coderunner-api.service.spec.ts +0 -134
- package/src/lib/services/candidate-coding-test-services/coderunner-api.service.ts +0 -105
- package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.spec.ts +0 -161
- package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.ts +0 -100
- package/src/lib/services/candidate-coding-test-services/coding-test.service.spec.ts +0 -1524
- package/src/lib/services/candidate-coding-test-services/coding-test.service.ts +0 -843
- package/src/lib/services/coding-test-config.service.ts +0 -48
- package/src/lib/services/configurations.service.mocks.ts +0 -77
- package/src/lib/services/configurations.service.spec.ts +0 -79
- package/src/lib/services/configurations.service.ts +0 -111
- package/src/lib/services/index.ts +0 -0
- package/src/lib/services/lib-coding-test.service.spec.ts +0 -265
- package/src/lib/services/lib-coding-test.service.ts +0 -157
- package/src/lib/services/local-storage.service.mocks.ts +0 -22
- package/src/lib/services/storage.service.spec.ts +0 -1119
- package/src/lib/services/storage.service.ts +0 -729
- package/src/lib/services/test-cases.service.spec.ts +0 -53
- package/src/lib/services/test-cases.service.ts +0 -29
- package/src/lib/services/theme.service.spec.ts +0 -76
- package/src/lib/services/theme.service.ts +0 -34
- package/src/lib/styles/mixins.scss +0 -86
- package/src/lib/styles/styles.scss +0 -112
- package/src/lib/styles/variables.scss +0 -105
- package/src/lib/utils/.gitkeep +0 -0
- package/src/lib/utils/additional-languages/erlang.ts +0 -115
- package/src/lib/utils/resize-element.ts +0 -15
- package/src/lib/utils/time-to-ms.util.ts +0 -10
- package/src/test-setup.ts +0 -3
- package/tsconfig.json +0 -19
- package/tsconfig.lib.json +0 -19
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
- /package/{src/assets → assets}/i18n/en.json +0 -0
- /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
|
-
}
|