@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,41 +0,0 @@
|
|
|
1
|
-
import { defaultFuncParams } from './code-editor-helper.mocks';
|
|
2
|
-
import { CodeEditorGoHelper } from './go-helper';
|
|
3
|
-
|
|
4
|
-
describe('CodeEditorGoHelper', () => {
|
|
5
|
-
let helper: CodeEditorGoHelper;
|
|
6
|
-
|
|
7
|
-
const defaultParams = { ...defaultFuncParams };
|
|
8
|
-
const paramsList =
|
|
9
|
-
'param1 bool, param2 int, param3 double, param4 float64, param5 string, param6 []bool, param7 []int, param8 []float64';
|
|
10
|
-
const correctFuncOpening = `func MockFunction(${paramsList}) bool {\n`;
|
|
11
|
-
const importPackagesText = 'package testtaker\nimport ()\n';
|
|
12
|
-
const correctInitCode = `${importPackagesText}${correctFuncOpening}\t //Insert your code here \n}`;
|
|
13
|
-
|
|
14
|
-
beforeEach(() => {
|
|
15
|
-
helper = new CodeEditorGoHelper(defaultParams);
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
describe('when getting init code', () => {
|
|
19
|
-
let result: string;
|
|
20
|
-
|
|
21
|
-
beforeEach(() => {
|
|
22
|
-
result = helper.getInitCode();
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it('should return proper init code', () => {
|
|
26
|
-
expect(result).toEqual(correctInitCode);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
describe('when getting func opening', () => {
|
|
31
|
-
let result: string;
|
|
32
|
-
|
|
33
|
-
beforeEach(() => {
|
|
34
|
-
result = helper.getFunctionOpening();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('should return proper func opening', () => {
|
|
38
|
-
expect(result).toEqual(correctFuncOpening);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
@@ -1,54 +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 CodeEditorGoHelper extends CodeEditorHelperBase implements CodeEditorHelper {
|
|
10
|
-
language = CodeEditorLanguages.Go;
|
|
11
|
-
typesMap: CodeEditorTypesMap = {
|
|
12
|
-
boolean: 'bool',
|
|
13
|
-
int: 'int',
|
|
14
|
-
number: 'int',
|
|
15
|
-
double: 'double',
|
|
16
|
-
float: 'float64',
|
|
17
|
-
str: 'string',
|
|
18
|
-
array_boolean: '[]bool',
|
|
19
|
-
array_int: '[]int',
|
|
20
|
-
array_float: '[]float64',
|
|
21
|
-
array_str: '[]string',
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
private importPackagesText = 'package testtaker\nimport ()\n';
|
|
25
|
-
|
|
26
|
-
constructor(private functionOptions: CodeEditorFuncOptions) {
|
|
27
|
-
super();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
getInitCode(): string {
|
|
31
|
-
return `${this.importPackagesText}${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getFunctionOpening(): string {
|
|
35
|
-
const { name: funcName, returnType } = this.functionOptions;
|
|
36
|
-
const params = this.getParamsString();
|
|
37
|
-
const showingReturnType = this.parseType(returnType);
|
|
38
|
-
const uppercasedFuncName = `${funcName.charAt(0).toUpperCase()}${funcName.slice(1)}`;
|
|
39
|
-
|
|
40
|
-
return `func ${uppercasedFuncName}(${params}) ${showingReturnType} {\n`;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
private getParamsString(): string {
|
|
44
|
-
const { params } = this.functionOptions;
|
|
45
|
-
let paramsString = '';
|
|
46
|
-
|
|
47
|
-
if (params && params.length > 0) {
|
|
48
|
-
params.forEach(values => (paramsString += `${values.name} ${this.parseType(values.type)}, `));
|
|
49
|
-
paramsString = paramsString.slice(0, -2);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return paramsString;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { defaultFuncParams } from './code-editor-helper.mocks';
|
|
2
|
-
import { CodeEditorJavaHelper } from './java-helper';
|
|
3
|
-
|
|
4
|
-
describe('CodeEditorJavaHelper', () => {
|
|
5
|
-
let helper: CodeEditorJavaHelper;
|
|
6
|
-
|
|
7
|
-
const defaultParams = { ...defaultFuncParams };
|
|
8
|
-
const paramsList =
|
|
9
|
-
'Boolean param1, Integer param2, Double param3, Float param4, String param5, Boolean[] param6, Integer[] param7, Float[] param8';
|
|
10
|
-
const classOpening = 'public class TestTaker {\n';
|
|
11
|
-
const correctFuncOpening = `\tpublic static Boolean mockFunction(${paramsList}) {\n`;
|
|
12
|
-
const correctInitCode = `${classOpening}${correctFuncOpening}\t\t //Insert your code here \n\t}\n`;
|
|
13
|
-
|
|
14
|
-
beforeEach(() => {
|
|
15
|
-
helper = new CodeEditorJavaHelper(defaultParams);
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
describe('when getting init code', () => {
|
|
19
|
-
let result: string;
|
|
20
|
-
|
|
21
|
-
beforeEach(() => {
|
|
22
|
-
result = helper.getInitCode();
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it('should return proper init code', () => {
|
|
26
|
-
expect(result).toEqual(correctInitCode);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
describe('when getting func opening', () => {
|
|
31
|
-
let result: string;
|
|
32
|
-
|
|
33
|
-
beforeEach(() => {
|
|
34
|
-
result = helper.getFunctionOpening();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('should return proper func opening', () => {
|
|
38
|
-
expect(result).toEqual(correctFuncOpening);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
@@ -1,54 +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 CodeEditorJavaHelper extends CodeEditorHelperBase implements CodeEditorHelper {
|
|
10
|
-
language = CodeEditorLanguages.Java;
|
|
11
|
-
typesMap: CodeEditorTypesMap = {
|
|
12
|
-
boolean: 'Boolean',
|
|
13
|
-
int: 'Integer',
|
|
14
|
-
number: 'Integer',
|
|
15
|
-
double: 'Double',
|
|
16
|
-
float: 'Float',
|
|
17
|
-
str: 'String',
|
|
18
|
-
array_boolean: 'Boolean[]',
|
|
19
|
-
array_int: 'Integer[]',
|
|
20
|
-
array_float: 'Float[]',
|
|
21
|
-
array_double: 'Double[]',
|
|
22
|
-
array_str: 'String[]',
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
private classOpening = 'public class TestTaker {\n';
|
|
26
|
-
|
|
27
|
-
constructor(private functionOptions: CodeEditorFuncOptions) {
|
|
28
|
-
super();
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
getInitCode(): string {
|
|
32
|
-
return `${this.classOpening}${this.getFunctionOpening()}\t\t //Insert your code here \n\t}\n`;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
getFunctionOpening(): string {
|
|
36
|
-
const { name: funcName, returnType } = this.functionOptions;
|
|
37
|
-
const params = this.getParamsString();
|
|
38
|
-
const showingReturnType = this.parseType(returnType);
|
|
39
|
-
|
|
40
|
-
return `\tpublic static ${showingReturnType} ${funcName}(${params}) {\n`;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
private getParamsString(): string {
|
|
44
|
-
const { params } = this.functionOptions;
|
|
45
|
-
let paramsString = '';
|
|
46
|
-
|
|
47
|
-
if (params && params.length > 0) {
|
|
48
|
-
params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
|
|
49
|
-
paramsString = paramsString.slice(0, -2);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return paramsString;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { defaultFuncParams } from './code-editor-helper.mocks';
|
|
2
|
-
import { CodeEditorJavascriptHelper } from './javascript-helper';
|
|
3
|
-
|
|
4
|
-
describe('CodeEditorJavascriptHelper', () => {
|
|
5
|
-
let helper: CodeEditorJavascriptHelper;
|
|
6
|
-
|
|
7
|
-
const defaultParams = { ...defaultFuncParams };
|
|
8
|
-
const paramsList = 'param1, param2, param3, param4, param5, param6, param7, param8';
|
|
9
|
-
const correctFuncOpening = `export function mockFunction(${paramsList}) {\n`;
|
|
10
|
-
const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}`;
|
|
11
|
-
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
helper = new CodeEditorJavascriptHelper(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,32 +0,0 @@
|
|
|
1
|
-
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
-
import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
|
|
3
|
-
|
|
4
|
-
export class CodeEditorJavascriptHelper extends CodeEditorHelperBase implements CodeEditorHelper {
|
|
5
|
-
language = CodeEditorLanguages.Javascript;
|
|
6
|
-
|
|
7
|
-
constructor(private functionOptions: CodeEditorFuncOptions) {
|
|
8
|
-
super();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
getInitCode(): string {
|
|
12
|
-
return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getFunctionOpening(): string {
|
|
16
|
-
const { name: funcName } = this.functionOptions;
|
|
17
|
-
|
|
18
|
-
return `export function ${funcName}(${this.getParamsString()}) {\n`;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
private getParamsString(): string {
|
|
22
|
-
const { params } = this.functionOptions;
|
|
23
|
-
let paramsString = '';
|
|
24
|
-
|
|
25
|
-
if (params && params.length > 0) {
|
|
26
|
-
params.forEach(values => (paramsString += `${values.name}, `));
|
|
27
|
-
paramsString = paramsString.slice(0, -2);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return paramsString;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { defaultFuncParams } from './code-editor-helper.mocks';
|
|
2
|
-
import { CodeEditorKotlinHelper } from './kotlin-helper';
|
|
3
|
-
|
|
4
|
-
describe('CodeEditorKotlinHelper', () => {
|
|
5
|
-
let helper: CodeEditorKotlinHelper;
|
|
6
|
-
|
|
7
|
-
const defaultParams = { ...defaultFuncParams };
|
|
8
|
-
const paramsList =
|
|
9
|
-
'param1: Boolean, param2: Int, param3: Double, param4: Float, param5: String, param6: Array<Boolean>, param7: Array<Int>, param8: Array<Float>';
|
|
10
|
-
const packages = 'package com.testgorilla.testtaker\n';
|
|
11
|
-
const correctFuncOpening = `fun mockFunction(${paramsList}): Boolean {\n`;
|
|
12
|
-
const correctInitCode = `${packages}${correctFuncOpening}\t //Insert your code here \n}`;
|
|
13
|
-
|
|
14
|
-
beforeEach(() => {
|
|
15
|
-
helper = new CodeEditorKotlinHelper(defaultParams);
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
describe('when getting init code', () => {
|
|
19
|
-
let result: string;
|
|
20
|
-
|
|
21
|
-
beforeEach(() => {
|
|
22
|
-
result = helper.getInitCode();
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it('should return proper init code', () => {
|
|
26
|
-
expect(result).toEqual(correctInitCode);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
describe('when getting func opening', () => {
|
|
31
|
-
let result: string;
|
|
32
|
-
|
|
33
|
-
beforeEach(() => {
|
|
34
|
-
result = helper.getFunctionOpening();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('should return proper func opening', () => {
|
|
38
|
-
expect(result).toEqual(correctFuncOpening);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
@@ -1,54 +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 CodeEditorKotlinHelper extends CodeEditorHelperBase implements CodeEditorHelper {
|
|
10
|
-
language = CodeEditorLanguages.Kotlin;
|
|
11
|
-
typesMap: CodeEditorTypesMap = {
|
|
12
|
-
boolean: 'Boolean',
|
|
13
|
-
int: 'Int',
|
|
14
|
-
number: 'int',
|
|
15
|
-
double: 'Double',
|
|
16
|
-
float: 'Float',
|
|
17
|
-
str: 'String',
|
|
18
|
-
array_boolean: 'Array<Boolean>',
|
|
19
|
-
array_int: 'Array<Int>',
|
|
20
|
-
array_float: 'Array<Float>',
|
|
21
|
-
array_double: 'Array<Double>',
|
|
22
|
-
array_str: 'Array<String>',
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
private packagesText = 'package com.testgorilla.testtaker\n';
|
|
26
|
-
|
|
27
|
-
constructor(private functionOptions: CodeEditorFuncOptions) {
|
|
28
|
-
super();
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
getInitCode(): string {
|
|
32
|
-
return `${this.packagesText}${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
getFunctionOpening(): string {
|
|
36
|
-
const { name: funcName, returnType } = this.functionOptions;
|
|
37
|
-
const params = this.getParamsString();
|
|
38
|
-
const showingReturnType = this.parseType(returnType);
|
|
39
|
-
|
|
40
|
-
return `fun ${funcName}(${params}): ${showingReturnType} {\n`;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
private getParamsString(): string {
|
|
44
|
-
const { params } = this.functionOptions;
|
|
45
|
-
let paramsString = '';
|
|
46
|
-
|
|
47
|
-
if (params && params.length > 0) {
|
|
48
|
-
params.forEach(values => (paramsString += `${values.name}: ${this.parseType(values.type)}, `));
|
|
49
|
-
paramsString = paramsString.slice(0, -2);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return paramsString;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { defaultFuncParams } from './code-editor-helper.mocks';
|
|
2
|
-
import { CodeEditorPhpHelper } from './php-helper';
|
|
3
|
-
|
|
4
|
-
describe('CodeEditorPhpHelper', () => {
|
|
5
|
-
let helper: CodeEditorPhpHelper;
|
|
6
|
-
|
|
7
|
-
const defaultParams = { ...defaultFuncParams };
|
|
8
|
-
const paramsList = '$param1, $param2, $param3, $param4, $param5, $param6, $param7, $param8';
|
|
9
|
-
const correctFuncOpening = `<?php function mockFunction(${paramsList}) {\n`;
|
|
10
|
-
const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}\n ?>`;
|
|
11
|
-
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
helper = new CodeEditorPhpHelper(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,32 +0,0 @@
|
|
|
1
|
-
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
-
import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
|
|
3
|
-
|
|
4
|
-
export class CodeEditorPhpHelper extends CodeEditorHelperBase implements CodeEditorHelper {
|
|
5
|
-
language = CodeEditorLanguages.Php;
|
|
6
|
-
|
|
7
|
-
constructor(private functionOptions: CodeEditorFuncOptions) {
|
|
8
|
-
super();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
getInitCode(): string {
|
|
12
|
-
return `${this.getFunctionOpening()}\t //Insert your code here \n}\n ?>`;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getFunctionOpening(): string {
|
|
16
|
-
const { name: funcName } = this.functionOptions;
|
|
17
|
-
|
|
18
|
-
return `<?php function ${funcName}(${this.getParamsString()}) {\n`;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
private getParamsString(): string {
|
|
22
|
-
const { params } = this.functionOptions;
|
|
23
|
-
let paramsString = '';
|
|
24
|
-
|
|
25
|
-
if (params && params.length > 0) {
|
|
26
|
-
params.forEach(values => (paramsString += `$${values.name}, `));
|
|
27
|
-
paramsString = paramsString.slice(0, -2);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return paramsString;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { defaultFuncParams } from './code-editor-helper.mocks';
|
|
2
|
-
import { CodeEditorPythonHelper } from './python-helper';
|
|
3
|
-
|
|
4
|
-
describe('CodeEditorPythonHelper', () => {
|
|
5
|
-
let helper: CodeEditorPythonHelper;
|
|
6
|
-
|
|
7
|
-
const defaultParams = { ...defaultFuncParams };
|
|
8
|
-
const paramsList = 'param1, param2, param3, param4, param5, param6, param7, param8';
|
|
9
|
-
const correctFuncOpening = `def mockFunction(${paramsList}): \n`;
|
|
10
|
-
const correctInitCode = `${correctFuncOpening}\t #Insert your code here \n`;
|
|
11
|
-
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
helper = new CodeEditorPythonHelper(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,32 +0,0 @@
|
|
|
1
|
-
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
-
import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
|
|
3
|
-
|
|
4
|
-
export class CodeEditorPythonHelper extends CodeEditorHelperBase implements CodeEditorHelper {
|
|
5
|
-
language = CodeEditorLanguages.Python;
|
|
6
|
-
|
|
7
|
-
constructor(private functionOptions: CodeEditorFuncOptions) {
|
|
8
|
-
super();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
getInitCode(): string {
|
|
12
|
-
return `${this.getFunctionOpening()}\t #Insert your code here \n`;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getFunctionOpening(): string {
|
|
16
|
-
const { name: funcName } = this.functionOptions;
|
|
17
|
-
|
|
18
|
-
return `def ${funcName}(${this.getParamsString()}): \n`;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
private getParamsString(): string {
|
|
22
|
-
const { params } = this.functionOptions;
|
|
23
|
-
let paramsString = '';
|
|
24
|
-
|
|
25
|
-
if (params && params.length > 0) {
|
|
26
|
-
params.forEach(values => (paramsString += `${values.name}, `));
|
|
27
|
-
paramsString = paramsString.slice(0, -2);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return paramsString;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { defaultFuncParams } from './code-editor-helper.mocks';
|
|
2
|
-
import { CodeEditorRHelper } from './r-helper';
|
|
3
|
-
|
|
4
|
-
describe('CodeEditorRHelper', () => {
|
|
5
|
-
let helper: CodeEditorRHelper;
|
|
6
|
-
|
|
7
|
-
const defaultParams = { ...defaultFuncParams };
|
|
8
|
-
const paramsList = 'param1, param2, param3, param4, param5, param6, param7, param8';
|
|
9
|
-
const correctFuncOpening = `mockFunction <- function(${paramsList}) {\n`;
|
|
10
|
-
const correctInitCode = `${correctFuncOpening}\t #Insert your code here \n}`;
|
|
11
|
-
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
helper = new CodeEditorRHelper(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,32 +0,0 @@
|
|
|
1
|
-
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
-
import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
|
|
3
|
-
|
|
4
|
-
export class CodeEditorRHelper extends CodeEditorHelperBase implements CodeEditorHelper {
|
|
5
|
-
language = CodeEditorLanguages.R;
|
|
6
|
-
|
|
7
|
-
constructor(private functionOptions: CodeEditorFuncOptions) {
|
|
8
|
-
super();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
getInitCode(): string {
|
|
12
|
-
return `${this.getFunctionOpening()}\t #Insert your code here \n}`;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getFunctionOpening(): string {
|
|
16
|
-
const { name: funcName } = this.functionOptions;
|
|
17
|
-
|
|
18
|
-
return `${funcName} <- function(${this.getParamsString()}) {\n`;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
private getParamsString(): string {
|
|
22
|
-
const { params } = this.functionOptions;
|
|
23
|
-
let paramsString = '';
|
|
24
|
-
|
|
25
|
-
if (params && params.length > 0) {
|
|
26
|
-
params.forEach(values => (paramsString += `${values.name}, `));
|
|
27
|
-
paramsString = paramsString.slice(0, -2);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return paramsString;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { defaultFuncParams } from './code-editor-helper.mocks';
|
|
2
|
-
import { CodeEditorRubyHelper } from './ruby-helper';
|
|
3
|
-
|
|
4
|
-
describe('CodeEditorRubyHelper', () => {
|
|
5
|
-
let helper: CodeEditorRubyHelper;
|
|
6
|
-
|
|
7
|
-
const defaultParams = { ...defaultFuncParams };
|
|
8
|
-
const paramsList = 'param1, param2, param3, param4, param5, param6, param7, param8';
|
|
9
|
-
const correctFuncOpening = `def mockFunction(${paramsList})\n`;
|
|
10
|
-
const correctInitCode = `${correctFuncOpening}\t #Insert your code here \nend`;
|
|
11
|
-
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
helper = new CodeEditorRubyHelper(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,32 +0,0 @@
|
|
|
1
|
-
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
-
import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
|
|
3
|
-
|
|
4
|
-
export class CodeEditorRubyHelper extends CodeEditorHelperBase implements CodeEditorHelper {
|
|
5
|
-
language = CodeEditorLanguages.Ruby;
|
|
6
|
-
|
|
7
|
-
constructor(private functionOptions: CodeEditorFuncOptions) {
|
|
8
|
-
super();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
getInitCode(): string {
|
|
12
|
-
return `${this.getFunctionOpening()}\t #Insert your code here \nend`;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getFunctionOpening(): string {
|
|
16
|
-
const { name: funcName } = this.functionOptions;
|
|
17
|
-
|
|
18
|
-
return `def ${funcName}(${this.getParamsString()})\n`;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
private getParamsString(): string {
|
|
22
|
-
const { params } = this.functionOptions;
|
|
23
|
-
let paramsString = '';
|
|
24
|
-
|
|
25
|
-
if (params && params.length > 0) {
|
|
26
|
-
params.forEach(values => (paramsString += `${values.name}, `));
|
|
27
|
-
paramsString = paramsString.slice(0, -2);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return paramsString;
|
|
31
|
-
}
|
|
32
|
-
}
|