diff --git a/.gitignore b/.gitignore index ccfa63b24..b2d3964ae 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ coverage/ dist/ dist-ssr/ generated/ +!**/tests/resources/generation/**/generated/ lib/ out/ *.tsbuildinfo diff --git a/docs/development/generation-testing.md b/docs/development/generation-testing.md index 2a023ee1d..6d5fa0706 100644 --- a/docs/development/generation-testing.md +++ b/docs/development/generation-testing.md @@ -6,16 +6,14 @@ generation test. ## Adding a generation test 1. Create a new **folder** (not just a file!) in the `tests/resources/generation` directory or any subdirectory. Give - the folder a descriptive name, since the folder name becomes part of the test name. + the folder a descriptive name, since the folder name becomes part of the test name. By default, the runner + integration is disabled. If you want to test the runner integration, place the folder in + `tests/resources/generation/runner integration` or any subdirectory instead. !!! tip "Skipping a test" If you want to skip a test, add the prefix `skip-` to the folder name. - !!! tip "Tests without runner integration" - - If you want to create a test without runner integration (memoization and placeholder saving), put it in the `eject` folder or use `eject` as a prefix for a new top level folder. - 2. Add files with the extension `.sdstest`, `.sdspipe`, or `.sdsstub` **directly inside the folder**. All files in a folder will be loaded into the same workspace, so they can reference each other. Files in different folders are loaded into different workspaces, so they cannot reference each other. Generation will be triggered for all files in @@ -27,7 +25,11 @@ generation test. ```ts // $TEST$ run_until ``` -5. Add another folder called `output` inside the folder that you created in step 1. Place folders and Python files - inside the `output` folder to specify the expected output of the program. The relative paths to the Python files and - the contents of the Python files will be compared to the actual generation output. +5. Add another folder called `generated` inside the folder that you created in step 1. Place folders and Python files + inside the `generated` folder to specify the expected output of the program. The relative paths to the Python files + and the contents of the Python files will be compared to the actual generation output. 6. Run the tests. The test runner will automatically pick up the new test. + +## Updating the expected output + +To quickly update the expected output after changes to the code generator, run `vitest` with the `--update` flag. diff --git a/packages/safe-ds-lang/src/language/generation/safe-ds-python-generator.ts b/packages/safe-ds-lang/src/language/generation/safe-ds-python-generator.ts index 839e2c797..193fcc9f0 100644 --- a/packages/safe-ds-lang/src/language/generation/safe-ds-python-generator.ts +++ b/packages/safe-ds-lang/src/language/generation/safe-ds-python-generator.ts @@ -1106,9 +1106,14 @@ export class SafeDsPythonGenerator { } private getExternalReferenceNeededImport( - expression: SdsExpression, - declaration: SdsDeclaration, + expression: SdsExpression | undefined, + declaration: SdsDeclaration | undefined, ): ImportData | undefined { + if (!expression || !declaration) { + /* c8 ignore next 2 */ + return undefined; + } + // Root Node is always a module. const currentModule = findRootNode(expression); const targetModule = findRootNode(declaration); diff --git a/packages/safe-ds-lang/tests/language/generation/creator.ts b/packages/safe-ds-lang/tests/language/generation/creator.ts index 6de708b91..46985f56c 100644 --- a/packages/safe-ds-lang/tests/language/generation/creator.ts +++ b/packages/safe-ds-lang/tests/language/generation/creator.ts @@ -18,6 +18,7 @@ import { URI } from 'langium'; const services = createSafeDsServices(NodeFileSystem).SafeDs; await services.shared.workspace.WorkspaceManager.initializeWorkspace([]); const rootResourceName = 'generation'; +const runnerIntegration = 'runner integration'; export const createGenerationTests = async (): Promise => { const filesGroupedByParentDirectory = listTestSafeDsFilesGroupedByParentDirectory(rootResourceName); @@ -27,9 +28,8 @@ export const createGenerationTests = async (): Promise => { }; const createGenerationTest = async (parentDirectory: URI, inputUris: URI[]): Promise => { - const expectedOutputRoot = URI.file(path.join(parentDirectory.fsPath, 'output')); - const actualOutputRoot = URI.file(path.join(parentDirectory.fsPath, 'generated')); - const expectedOutputFiles = readExpectedOutputFiles(expectedOutputRoot, actualOutputRoot); + const outputRoot = URI.file(path.join(parentDirectory.fsPath, 'generated')); + const expectedOutputFiles = readExpectedOutputFiles(outputRoot); let runUntil: Location | undefined; // Load all files, so they get linked @@ -60,7 +60,7 @@ const createGenerationTest = async (parentDirectory: URI, inputUris: URI[]): Pro if (checksResult.value.length === 1) { const check = checksResult.value[0]!; - // Expected unresolved reference + // Partial execution if (check.comment !== 'run_until') { return invalidTest('FILE', new InvalidCommentError(check.comment, uri)); } @@ -79,23 +79,22 @@ const createGenerationTest = async (parentDirectory: URI, inputUris: URI[]): Pro return { testName: `[${shortenedResourceName}]`, inputUris, - actualOutputRoot, + outputRoot, expectedOutputFiles, runUntil, - disableRunnerIntegration: shortenedResourceName.startsWith('eject'), // Tests in the "eject" top level folder are tested with disabled runner integration + disableRunnerIntegration: !shortenedResourceName.startsWith(runnerIntegration), }; }; /** * Read all expected output files. * - * @param expectedOutputRoot Where the expected output files are located. - * @param actualOutputRoot Where the actual output files supposed to be located. + * @param outputRoot Where the actual output files are supposed to be located. */ -const readExpectedOutputFiles = (expectedOutputRoot: URI, actualOutputRoot: URI): ExpectedOutputFile[] => { - return listTestFilesWithExtensions(uriToShortenedTestResourceName(expectedOutputRoot), ['py', 'map']) +const readExpectedOutputFiles = (outputRoot: URI): ExpectedOutputFile[] => { + return listTestFilesWithExtensions(uriToShortenedTestResourceName(outputRoot), ['py', 'map']) .sort((a, b) => { - // List .py files first + // List .py files first, so they get compared first if (a.fsPath.endsWith('.map') && b.fsPath.endsWith('.py')) { return 1; } @@ -104,7 +103,7 @@ const readExpectedOutputFiles = (expectedOutputRoot: URI, actualOutputRoot: URI) }) .map((uri) => { return { - uri: URI.file(path.join(actualOutputRoot.fsPath, path.relative(expectedOutputRoot.fsPath, uri.fsPath))), + uri, code: fs.readFileSync(uri.fsPath).toString(), }; }); @@ -122,7 +121,7 @@ const invalidTest = (level: 'FILE' | 'SUITE', error: TestDescriptionError): Gene return { testName, inputUris: [], - actualOutputRoot: URI.file(''), + outputRoot: URI.file(''), expectedOutputFiles: [], error, disableRunnerIntegration: false, @@ -139,9 +138,9 @@ interface GenerationTest extends TestDescription { inputUris: URI[]; /** - * The directory, where actual output files should be temporarily stored. + * The directory, where output files are located. */ - actualOutputRoot: URI; + outputRoot: URI; /** * The expected generated code. diff --git a/packages/safe-ds-lang/tests/language/generation/safe-ds-python-generator.test.ts b/packages/safe-ds-lang/tests/language/generation/safe-ds-python-generator.test.ts index 8d86d0d68..496659a62 100644 --- a/packages/safe-ds-lang/tests/language/generation/safe-ds-python-generator.test.ts +++ b/packages/safe-ds-lang/tests/language/generation/safe-ds-python-generator.test.ts @@ -21,7 +21,6 @@ describe('generation', async () => { // Get target placeholder name for "run until" let runUntilPlaceholderName: string | undefined = undefined; - if (test.runUntil) { const document = services.shared.workspace.LangiumDocuments.getOrCreateDocument( URI.parse(test.runUntil.uri), @@ -30,10 +29,10 @@ describe('generation', async () => { } // Generate code for all documents - const actualOutputs = stream(documents) + const actualOutputs: Map = stream(documents) .flatMap((document) => pythonGenerator.generate(document, { - destination: test.actualOutputRoot, + destination: test.outputRoot, createSourceMaps: true, targetPlaceholder: runUntilPlaceholderName, disableRunnerIntegration: test.disableRunnerIntegration, @@ -41,19 +40,19 @@ describe('generation', async () => { ) .map((textDocument) => [textDocument.uri, textDocument.getText()]) .toMap( - (entry) => entry[0], - (entry) => entry[1], + (entry) => entry[0]!, + (entry) => entry[1]!, ); + // File contents must match + for (const [uriString, code] of actualOutputs) { + const fsPath = URI.parse(uriString).fsPath; + await expect(code).toMatchFileSnapshot(fsPath); + } + // File paths must match const actualOutputPaths = Array.from(actualOutputs.keys()).sort(); const expectedOutputPaths = test.expectedOutputFiles.map((file) => file.uri.toString()).sort(); expect(actualOutputPaths).toStrictEqual(expectedOutputPaths); - - // File contents must match - for (const expectedOutputFile of test.expectedOutputFiles) { - const actualCode = actualOutputs.get(expectedOutputFile.uri.toString()); - expect(actualCode).toBe(expectedOutputFile.code); - } }); }); diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/output/tests/generator/emptyPipeline/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/generated/tests/generator/emptyPipeline/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/output/tests/generator/emptyPipeline/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/generated/tests/generator/emptyPipeline/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/output/tests/generator/emptyPipeline/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/generated/tests/generator/emptyPipeline/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/output/tests/generator/emptyPipeline/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/generated/tests/generator/emptyPipeline/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/output/tests/generator/emptyPipeline/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/generated/tests/generator/emptyPipeline/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/output/tests/generator/emptyPipeline/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/empty pipeline/generated/tests/generator/emptyPipeline/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/empty segment/output/tests/generator/emptySegment/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/declarations/empty segment/generated/tests/generator/emptySegment/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/empty segment/output/tests/generator/emptySegment/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/empty segment/generated/tests/generator/emptySegment/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/empty segment/output/tests/generator/emptySegment/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/declarations/empty segment/generated/tests/generator/emptySegment/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/empty segment/output/tests/generator/emptySegment/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/declarations/empty segment/generated/tests/generator/emptySegment/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/parameter with python name/output/tests/generator/parameterWithPythonName/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/declarations/parameter with python name/generated/tests/generator/parameterWithPythonName/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/parameter with python name/output/tests/generator/parameterWithPythonName/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/parameter with python name/generated/tests/generator/parameterWithPythonName/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/parameter with python name/output/tests/generator/parameterWithPythonName/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/declarations/parameter with python name/generated/tests/generator/parameterWithPythonName/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/parameter with python name/output/tests/generator/parameterWithPythonName/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/declarations/parameter with python name/generated/tests/generator/parameterWithPythonName/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/output/tests/generator/pipelineWithPythonName/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/generated/tests/generator/pipelineWithPythonName/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/output/tests/generator/pipelineWithPythonName/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/generated/tests/generator/pipelineWithPythonName/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/output/tests/generator/pipelineWithPythonName/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/generated/tests/generator/pipelineWithPythonName/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/output/tests/generator/pipelineWithPythonName/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/generated/tests/generator/pipelineWithPythonName/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/output/tests/generator/pipelineWithPythonName/gen_input_test_pipeline.py b/packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/generated/tests/generator/pipelineWithPythonName/gen_input_test_pipeline.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/output/tests/generator/pipelineWithPythonName/gen_input_test_pipeline.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/pipeline with python name/generated/tests/generator/pipelineWithPythonName/gen_input_test_pipeline.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/segment with python name/output/tests/generator/segmentWithPythonName/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/declarations/segment with python name/generated/tests/generator/segmentWithPythonName/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/segment with python name/output/tests/generator/segmentWithPythonName/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/segment with python name/generated/tests/generator/segmentWithPythonName/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/segment with python name/output/tests/generator/segmentWithPythonName/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/declarations/segment with python name/generated/tests/generator/segmentWithPythonName/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/segment with python name/output/tests/generator/segmentWithPythonName/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/declarations/segment with python name/generated/tests/generator/segmentWithPythonName/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/output/tests/generator/twoPipelines/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/generated/tests/generator/twoPipelines/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/output/tests/generator/twoPipelines/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/generated/tests/generator/twoPipelines/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/output/tests/generator/twoPipelines/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/generated/tests/generator/twoPipelines/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/output/tests/generator/twoPipelines/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/generated/tests/generator/twoPipelines/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/output/tests/generator/twoPipelines/gen_input_test1.py b/packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/generated/tests/generator/twoPipelines/gen_input_test1.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/output/tests/generator/twoPipelines/gen_input_test1.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/generated/tests/generator/twoPipelines/gen_input_test1.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/output/tests/generator/twoPipelines/gen_input_test2.py b/packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/generated/tests/generator/twoPipelines/gen_input_test2.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/output/tests/generator/twoPipelines/gen_input_test2.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/two pipelines/generated/tests/generator/twoPipelines/gen_input_test2.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/two segments/output/tests/generator/twoSegments/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/declarations/two segments/generated/tests/generator/twoSegments/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/two segments/output/tests/generator/twoSegments/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/declarations/two segments/generated/tests/generator/twoSegments/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/declarations/two segments/output/tests/generator/twoSegments/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/declarations/two segments/generated/tests/generator/twoSegments/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/declarations/two segments/output/tests/generator/twoSegments/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/declarations/two segments/generated/tests/generator/twoSegments/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/eject/input.sdstest b/packages/safe-ds-lang/tests/resources/generation/eject/input.sdstest deleted file mode 100644 index a75130d75..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/eject/input.sdstest +++ /dev/null @@ -1,24 +0,0 @@ -package tests.generator.eject - -@Impure([ImpurityReason.Other]) fun f(param: Any?) - -@Pure fun g() -> result: Boolean - -@Pure fun i() -> result: Int? - -@Pure fun factory() -> instance: C? - -class C() { - attr a: Int - @PythonName("c") attr b: Int -} - -pipeline test { - f(g() or g()); - f(g() and g()); - - f(factory()?.a); - f(factory()?.b); - - f(i() ?: i()); -} diff --git a/packages/safe-ds-lang/tests/resources/generation/eject/output/tests/generator/eject/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/eject/output/tests/generator/eject/gen_input.py.map deleted file mode 100644 index 86a304a6b..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/eject/output/tests/generator/eject/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","or","g","and","factory","a","b","i"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAASA,IAAI;IACTC,CAAC,CAAKC,cAAE,CAANC,CAAC,IAAMA,CAAC;IACVF,CAAC,CAAKG,eAAG,CAAPD,CAAC,IAAOA,CAAC;IAEXF,CAAC,CAAU,6BAAC,CAAVI,OAAO,KAAIC,CAAC;IACdL,CAAC,CAAU,6BAAC,CAAVI,OAAO,KAAIE,CAAC;IAEdN,CAAC,CAAK,iBAAE,CAANO,CAAC,IAAMA,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/generated/tests/generator/blockLambdaResult/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/generated/tests/generator/blockLambdaResult/gen_input.py new file mode 100644 index 000000000..ebd90a46b --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/generated/tests/generator/blockLambdaResult/gen_input.py @@ -0,0 +1,21 @@ +# Segments --------------------------------------------------------------------- + +def f1(l): + h(l(1, 2)) + +def f2(l): + h(l(1, 2)[1]) + h(l(1, 2)[0]) + +# Pipelines -------------------------------------------------------------------- + +def test(): + def __gen_block_lambda_0(a, b): + __gen_block_lambda_result_d = g() + return __gen_block_lambda_result_d + f1(__gen_block_lambda_0) + def __gen_block_lambda_1(a, b): + __gen_block_lambda_result_d = g() + __gen_block_lambda_result_e = g() + return __gen_block_lambda_result_d, __gen_block_lambda_result_e + f2(__gen_block_lambda_1) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/generated/tests/generator/blockLambdaResult/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/generated/tests/generator/blockLambdaResult/gen_input.py.map new file mode 100644 index 000000000..12c2af08e --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/generated/tests/generator/blockLambdaResult/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["f1","l","h","f2","e1","d1","test","a","b","d","g","e"],"mappings":"AAAA;;AAMA,IAAQA,EAAE,CAACC,CAAC;IACRC,CAAC,CAACD,CAAC,CAAC,CAAC,EAAE,CAAC;;AAGZ,IAAQE,EAAE,CAACF,CAAC;IACRC,CAAC,CAACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEG,CAAE;IACZF,CAAC,CAACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEI,CAAE;;;;AAGhB,IAASC,IAAI;IAEN,yBAACC,CAAC,EAAOC,CAAC;QACT,0BAAMC,CAAC,GAAGC,CAAC;QADZ,OACC,0BAAMD,CAAC;IADXT,EAAE,CAAC;IAGA,yBAACO,CAAC,EAAOC,CAAC;QACT,0BAAMC,CAAC,GAAGC,CAAC;QACX,0BAAMC,CAAC,GAAGD,CAAC;QAFZ,OACC,0BAAMD,CAAC,EACP,0BAAME,CAAC;IAFXR,EAAE,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/eject/output/tests/generator/eject/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/generated/tests/generator/blockLambdaResult/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/eject/output/tests/generator/eject/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/generated/tests/generator/blockLambdaResult/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/output/tests/generator/blockLambdaResult/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/output/tests/generator/blockLambdaResult/gen_input.py deleted file mode 100644 index aa942c113..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/output/tests/generator/blockLambdaResult/gen_input.py +++ /dev/null @@ -1,25 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Segments --------------------------------------------------------------------- - -def f1(l): - h(l(1, 2)) - -def f2(l): - h(l(1, 2)[1]) - h(l(1, 2)[0]) - -# Pipelines -------------------------------------------------------------------- - -def test(): - def __gen_block_lambda_0(a, b): - __gen_block_lambda_result_d = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.blockLambdaResult.g", g, [], []) - return __gen_block_lambda_result_d - f1(__gen_block_lambda_0) - def __gen_block_lambda_1(a, b): - __gen_block_lambda_result_d = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.blockLambdaResult.g", g, [], []) - __gen_block_lambda_result_e = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.blockLambdaResult.g", g, [], []) - return __gen_block_lambda_result_d, __gen_block_lambda_result_e - f2(__gen_block_lambda_1) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/output/tests/generator/blockLambdaResult/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/output/tests/generator/blockLambdaResult/gen_input.py.map deleted file mode 100644 index 343153b64..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/output/tests/generator/blockLambdaResult/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["f1","l","h","f2","e1","d1","test","a","b","d","g","e"],"mappings":"AAAA;;;;;;AAMA,IAAQA,EAAE,CAACC,CAAC;IACRC,CAAC,CAACD,CAAC,CAAC,CAAC,EAAE,CAAC;;AAGZ,IAAQE,EAAE,CAACF,CAAC;IACRC,CAAC,CAACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEG,CAAE;IACZF,CAAC,CAACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEI,CAAE;;;;AAGhB,IAASC,IAAI;IAEN,yBAACC,CAAC,EAAOC,CAAC;QACT,0BAAMC,CAAC,GAAG,2GAAAC,CAAC;QADZ,OACC,0BAAMD,CAAC;IADXT,EAAE,CAAC;IAGA,yBAACO,CAAC,EAAOC,CAAC;QACT,0BAAMC,CAAC,GAAG,2GAAAC,CAAC;QACX,0BAAMC,CAAC,GAAG,2GAAAD,CAAC;QAFZ,OACC,0BAAMD,CAAC,EACP,0BAAME,CAAC;IAFXR,EAAE,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/generated/tests/generator/blockLambda/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/generated/tests/generator/blockLambda/gen_input.py new file mode 100644 index 000000000..9036f3ced --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/generated/tests/generator/blockLambda/gen_input.py @@ -0,0 +1,23 @@ +# Pipelines -------------------------------------------------------------------- + +def test(): + def __gen_block_lambda_0(a, b=2): + __gen_block_lambda_result_d = g() + return __gen_block_lambda_result_d + f1(__gen_block_lambda_0) + def __gen_block_lambda_1(a, b): + __gen_block_lambda_result_d = g() + return __gen_block_lambda_result_d + f1(__gen_block_lambda_1) + def __gen_block_lambda_2(): + pass + f2(__gen_block_lambda_2) + def __gen_block_lambda_3(a, b=2): + __gen_block_lambda_result_d = g() + return __gen_block_lambda_result_d + g2(f3(__gen_block_lambda_3)) + def __gen_block_lambda_4(a, b=2): + __gen_block_lambda_result_d = g() + return __gen_block_lambda_result_d + c = f3(__gen_block_lambda_4) + g2(c) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/generated/tests/generator/blockLambda/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/generated/tests/generator/blockLambda/gen_input.py.map new file mode 100644 index 000000000..d01404036 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/generated/tests/generator/blockLambda/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","a","b","d","g","f1","f2","g2","f3","c"],"mappings":"AAAA;;AASA,IAASA,IAAI;IACN,yBAACC,CAAC,EAAOC,CAAC,CAAQ,CAAC;QAClB,0BAAMC,CAAC,GAAGC,CAAC;QADZ,OACC,0BAAMD,CAAC;IADXE,EAAE,CAAC;IAGA,yBAACJ,CAAC,EAAOC,CAAC;QACT,0BAAMC,CAAC,GAAGC,CAAC;QADZ,OACC,0BAAMD,CAAC;IADXE,EAAE,CAAC;IAGA;QAAG,IAAE;IAARC,EAAE,CAAC;IACG,yBAACL,CAAC,EAAOC,CAAC,CAAQ,CAAC;QACrB,0BAAMC,CAAC,GAAGC,CAAC;QADT,OACF,0BAAMD,CAAC;IADXI,EAAE,CAACC,EAAE,CAAC;IAGK,yBAACP,CAAC,EAAOC,CAAC,CAAQ,CAAC;QAC1B,0BAAMC,CAAC,GAAGC,CAAC;QADJ,OACP,0BAAMD,CAAC;IADX,IAAQK,EAAE,CAAC;IAGXD,EAAE,CAACE,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/output/tests/generator/blockLambdaResult/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/generated/tests/generator/blockLambda/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/block lambda result/output/tests/generator/blockLambdaResult/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/generated/tests/generator/blockLambda/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/output/tests/generator/blockLambda/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/output/tests/generator/blockLambda/gen_input.py deleted file mode 100644 index 9d0687538..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/output/tests/generator/blockLambda/gen_input.py +++ /dev/null @@ -1,28 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def test(): - def __gen_block_lambda_0(a, b=2): - __gen_block_lambda_result_d = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.blockLambda.g", g, [], []) - return __gen_block_lambda_result_d - f1(__gen_block_lambda_0) - def __gen_block_lambda_1(a, b): - __gen_block_lambda_result_d = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.blockLambda.g", g, [], []) - return __gen_block_lambda_result_d - f1(__gen_block_lambda_1) - def __gen_block_lambda_2(): - pass - f2(__gen_block_lambda_2) - def __gen_block_lambda_3(a, b=2): - __gen_block_lambda_result_d = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.blockLambda.g", g, [], []) - return __gen_block_lambda_result_d - g2(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.blockLambda.f3", f3, [__gen_block_lambda_3], [])) - def __gen_block_lambda_4(a, b=2): - __gen_block_lambda_result_d = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.blockLambda.g", g, [], []) - return __gen_block_lambda_result_d - c = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.blockLambda.f3", f3, [__gen_block_lambda_4], []) - safeds_runner.server.pipeline_manager.runner_save_placeholder('c', c) - g2(c) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/output/tests/generator/blockLambda/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/output/tests/generator/blockLambda/gen_input.py.map deleted file mode 100644 index 35f1a7fa7..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/output/tests/generator/blockLambda/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","a","b","d","g","f1","f2","g2","f3","c"],"mappings":"AAAA;;;;;;AASA,IAASA,IAAI;IACN,yBAACC,CAAC,EAAOC,CAAC,CAAQ,CAAC;QAClB,0BAAMC,CAAC,GAAG,qGAAAC,CAAC;QADZ,OACC,0BAAMD,CAAC;IADXE,EAAE,CAAC;IAGA,yBAACJ,CAAC,EAAOC,CAAC;QACT,0BAAMC,CAAC,GAAG,qGAAAC,CAAC;QADZ,OACC,0BAAMD,CAAC;IADXE,EAAE,CAAC;IAGA;QAAG,IAAE;IAARC,EAAE,CAAC;IACG,yBAACL,CAAC,EAAOC,CAAC,CAAQ,CAAC;QACrB,0BAAMC,CAAC,GAAG,qGAAAC,CAAC;QADT,OACF,0BAAMD,CAAC;IADXI,EAAE,CAAC,sGAAAC,EAAE,GAAC;IAGK,yBAACP,CAAC,EAAOC,CAAC,CAAQ,CAAC;QAC1B,0BAAMC,CAAC,GAAG,qGAAAC,CAAC;QADJ,OACP,0BAAMD,CAAC;IADX,IAAQ,sGAAAK,EAAE,GAAC;IAAX;IAGAD,EAAE,CAACE,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/call/generated/tests/generator/call/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/call/generated/tests/generator/call/gen_input.py new file mode 100644 index 000000000..a1a0b2bdd --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/call/generated/tests/generator/call/gen_input.py @@ -0,0 +1,32 @@ +# Imports ---------------------------------------------------------------------- + +from typing import Any, Callable, TypeVar + +# Type variables --------------------------------------------------------------- + +__gen_T = TypeVar("__gen_T") + +# Utils ------------------------------------------------------------------------ + +def __gen_null_safe_call(receiver: Any, callable: Callable[[], __gen_T]) -> __gen_T | None: + return callable() if receiver is not None else None + +# Pipelines -------------------------------------------------------------------- + +def test(): + f(g(1, param2=2)) + f(g(2, param2=1)) + f(h(1, param_2=2)) + f(h(2, param_2=1)) + f(h(2)) + 'abc'.i() + 'abc'.j(123) + k(456, 1.23) + __gen_null_safe_call(f, lambda: f(g(1, param2=2))) + __gen_null_safe_call(f, lambda: f(g(2, param2=1))) + __gen_null_safe_call(f, lambda: f(h(1, param_2=2))) + __gen_null_safe_call(f, lambda: f(h(2, param_2=1))) + __gen_null_safe_call(f, lambda: f(h(2))) + __gen_null_safe_call(i, lambda: 'abc'.i()) + __gen_null_safe_call(j, lambda: 'abc'.j(123)) + __gen_null_safe_call(k, lambda: k(456, 1.23)) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/call/generated/tests/generator/call/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/call/generated/tests/generator/call/gen_input.py.map new file mode 100644 index 000000000..dbcf2fedf --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/call/generated/tests/generator/call/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","g","param2","h","i","j","k"],"mappings":"AAAA;;;;;;;;;;;;;;;AA0BA,IAASA,IAAI;IACTC,CAAC,CAAEC,CAAC,CAAC,CAAC,EArBNC,MAAM,CAqBE,CAAC;IACTF,CAAC,CAAEC,CAAC,CAAsB,CAAC,EAtB3BC,MAAM,CAsBQ,CAAC;IACfF,CAAC,CAAEG,CAAC,CAAC,CAAC,EAlBiBD,OAAM,CAkBrB,CAAC;IACTF,CAAC,CAAEG,CAAC,CAAsB,CAAC,EAnBJD,OAAM,CAmBf,CAAC;IACfF,CAAC,CAAEG,CAAC,CAAU,CAAC;IACb,KAAK;IACL,KAAK,GAAE,GAAG;IACZ,EAAQ,GAAG,EAAT,IAAI;IAEL,oBAAC,CAAFH,CAAC,UAADA,CAAC,CAAGC,CAAC,CAAC,CAAC,EA9BPC,MAAM,CA8BG,CAAC;IACT,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAGC,CAAC,CAAsB,CAAC,EA/B5BC,MAAM,CA+BS,CAAC;IACf,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAGG,CAAC,CAAC,CAAC,EA3BgBD,OAAM,CA2BpB,CAAC;IACT,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAGG,CAAC,CAAsB,CAAC,EA5BLD,OAAM,CA4Bd,CAAC;IACf,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAGG,CAAC,CAAU,CAAC;IACf,oBAAC,CAAFC,CAAC,UAAE,KAAK;IACP,oBAAC,CAAFC,CAAC,UAAE,KAAK,GAAE,GAAG;IACZ,oBAAC,CAAFC,CAAC,UAAD,EAAS,GAAG,EAAT,IAAI","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/output/tests/generator/blockLambda/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/call/generated/tests/generator/call/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/block lambda/output/tests/generator/blockLambda/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/call/generated/tests/generator/call/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/call/output/tests/generator/call/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/call/output/tests/generator/call/gen_input.py.map deleted file mode 100644 index a6505d63f..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/call/output/tests/generator/call/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","g","param2","h","i","j","k"],"mappings":"AAAA;;;;;;;;;;;;;;;;AA0BA,IAASA,IAAI;IACTC,CAAC,CAAE,0GAAAC,CAAC,CAAC,CAAC,EArBNC,MAAM,CAqBE,CAAC,IAAJ,CAAC,EAAE,CAAC;IACTF,CAAC,CAAE,0GAAAC,CAAC,CAAsB,CAAC,EAtB3BC,MAAM,CAsBQ,CAAC,IAAW,CAAC,EAAb,CAAC;IACfF,CAAC,CAAE,0GAAAG,CAAC,CAAC,CAAC,EAlBiBD,OAAM,CAkBrB,CAAC,IAAJ,CAAC,EAAE,CAAC;IACTF,CAAC,CAAE,0GAAAG,CAAC,CAAsB,CAAC,EAnBJD,OAAM,CAmBf,CAAC,IAAW,CAAC,EAAb,CAAC;IACfF,CAAC,CAAE,8FAAAG,CAAC,GAAU,CAAC,EApBsB,CAAC;IAqBpC,KAAK;IACL,KAAK,GAAE,GAAG;IACZ,EAAQ,GAAG,EAAT,IAAI;IAEL,oBAAC,CAAFH,CAAC,UAADA,CAAC,CAAG,0GAAAC,CAAC,CAAC,CAAC,EA9BPC,MAAM,CA8BG,CAAC,IAAJ,CAAC,EAAE,CAAC;IACT,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAG,0GAAAC,CAAC,CAAsB,CAAC,EA/B5BC,MAAM,CA+BS,CAAC,IAAW,CAAC,EAAb,CAAC;IACf,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAG,0GAAAG,CAAC,CAAC,CAAC,EA3BgBD,OAAM,CA2BpB,CAAC,IAAJ,CAAC,EAAE,CAAC;IACT,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAG,0GAAAG,CAAC,CAAsB,CAAC,EA5BLD,OAAM,CA4Bd,CAAC,IAAW,CAAC,EAAb,CAAC;IACf,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAG,8FAAAG,CAAC,GAAU,CAAC,EA7BqB,CAAC;IA8BrC,oBAAC,CAAFC,CAAC,UAAE,KAAK;IACP,oBAAC,CAAFC,CAAC,UAAE,KAAK,GAAE,GAAG;IACZ,oBAAC,CAAFC,CAAC,UAAD,EAAS,GAAG,EAAT,IAAI","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/constant/output/tests/generator/constant/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/constant/generated/tests/generator/constant/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/constant/output/tests/generator/constant/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/constant/generated/tests/generator/constant/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/constant/output/tests/generator/constant/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/constant/generated/tests/generator/constant/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/constant/output/tests/generator/constant/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/expressions/constant/generated/tests/generator/constant/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/call/output/tests/generator/call/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/constant/generated/tests/generator/constant/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/call/output/tests/generator/call/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/constant/generated/tests/generator/constant/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/output/tests/generator/enumVariantCall/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/generated/tests/generator/enumVariantCall/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/output/tests/generator/enumVariantCall/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/generated/tests/generator/enumVariantCall/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/output/tests/generator/enumVariantCall/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/generated/tests/generator/enumVariantCall/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/output/tests/generator/enumVariantCall/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/generated/tests/generator/enumVariantCall/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/constant/output/tests/generator/constant/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/generated/tests/generator/enumVariantCall/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/constant/output/tests/generator/constant/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/generated/tests/generator/enumVariantCall/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/output/tests/generator/expressionLambda/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/generated/tests/generator/expressionLambda/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/output/tests/generator/expressionLambda/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/generated/tests/generator/expressionLambda/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/output/tests/generator/expressionLambda/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/generated/tests/generator/expressionLambda/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/output/tests/generator/expressionLambda/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/generated/tests/generator/expressionLambda/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/output/tests/generator/enumVariantCall/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/generated/tests/generator/expressionLambda/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/enum variant call/output/tests/generator/enumVariantCall/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/generated/tests/generator/expressionLambda/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/indexed access/output/tests/generator/indexedAccess/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/indexed access/generated/tests/generator/indexedAccess/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/indexed access/output/tests/generator/indexedAccess/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/indexed access/generated/tests/generator/indexedAccess/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/indexed access/output/tests/generator/indexedAccess/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/indexed access/generated/tests/generator/indexedAccess/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/indexed access/output/tests/generator/indexedAccess/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/expressions/indexed access/generated/tests/generator/indexedAccess/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/eject/output/tests/generator/eject/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/generated/tests/generator/infixOperation/gen_input.py similarity index 73% rename from packages/safe-ds-lang/tests/resources/generation/eject/output/tests/generator/eject/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/generated/tests/generator/infixOperation/gen_input.py index 1906c6832..fab49649f 100644 --- a/packages/safe-ds-lang/tests/resources/generation/eject/output/tests/generator/eject/gen_input.py +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/generated/tests/generator/infixOperation/gen_input.py @@ -1,6 +1,6 @@ # Imports ---------------------------------------------------------------------- -from typing import Any, TypeVar +from typing import TypeVar # Type variables --------------------------------------------------------------- @@ -14,9 +14,6 @@ def __gen_eager_or(left_operand: bool, right_operand: bool) -> bool: def __gen_eager_and(left_operand: bool, right_operand: bool) -> bool: return left_operand and right_operand -def __gen_null_safe_member_access(receiver: Any, member_name: str) -> __gen_T | None: - return getattr(receiver, member_name) if receiver is not None else None - def __gen_eager_elvis(left_operand: __gen_T, right_operand: __gen_T) -> __gen_T: return left_operand if left_operand is not None else right_operand @@ -25,6 +22,16 @@ def __gen_eager_elvis(left_operand: __gen_T, right_operand: __gen_T) -> __gen_T: def test(): f(__gen_eager_or(g(), g())) f(__gen_eager_and(g(), g())) - f(__gen_null_safe_member_access(factory(), 'a')) - f(__gen_null_safe_member_access(factory(), 'c')) + f((h()) == (h())) + f((h()) != (h())) + f((h()) is (h())) + f((h()) is not (h())) + f((h()) < (h())) + f((h()) <= (h())) + f((h()) >= (h())) + f((h()) > (h())) + f((h()) + (h())) + f((h()) - (h())) + f((h()) * (h())) + f((h()) / (h())) f(__gen_eager_elvis(i(), i())) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/generated/tests/generator/infixOperation/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/generated/tests/generator/infixOperation/gen_input.py.map new file mode 100644 index 000000000..9f8b78db6 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/generated/tests/generator/infixOperation/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","or","g","and","h","i"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;AAUA,IAASA,IAAI;IACTC,CAAC,CAAKC,cAAE,CAANC,CAAC,IAAMA,CAAC;IACVF,CAAC,CAAKG,eAAG,CAAPD,CAAC,IAAOA,CAAC;IAEXF,CAAC,CAAC,CAAAI,CAAC,IAAG,EAAE,EAACA,CAAC;IACVJ,CAAC,CAAC,CAAAI,CAAC,IAAG,EAAE,EAACA,CAAC;IACVJ,CAAC,CAAC,CAAAI,CAAC,IAAG,EAAG,EAACA,CAAC;IACXJ,CAAC,CAAC,CAAAI,CAAC,IAAG,QAAIA,CAAC;IAEXJ,CAAC,CAAC,CAAAI,CAAC,IAAG,CAAC,EAACA,CAAC;IACTJ,CAAC,CAAC,CAAAI,CAAC,IAAG,EAAE,EAACA,CAAC;IACVJ,CAAC,CAAC,CAAAI,CAAC,IAAG,EAAE,EAACA,CAAC;IACVJ,CAAC,CAAC,CAAAI,CAAC,IAAG,CAAC,EAACA,CAAC;IAETJ,CAAC,CAAC,CAAAI,CAAC,IAAG,CAAC,EAACA,CAAC;IACTJ,CAAC,CAAC,CAAAI,CAAC,IAAG,CAAC,EAACA,CAAC;IACTJ,CAAC,CAAC,CAAAI,CAAC,IAAG,CAAC,EAACA,CAAC;IACTJ,CAAC,CAAC,CAAAI,CAAC,IAAG,CAAC,EAACA,CAAC;IAETJ,CAAC,CAAK,iBAAE,CAANK,CAAC,IAAMA,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/output/tests/generator/expressionLambda/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/generated/tests/generator/infixOperation/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/expression lambda/output/tests/generator/expressionLambda/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/generated/tests/generator/infixOperation/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/output/tests/generator/infixOperation/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/output/tests/generator/infixOperation/gen_input.py deleted file mode 100644 index 65c10eb4a..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/output/tests/generator/infixOperation/gen_input.py +++ /dev/null @@ -1,38 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager -from typing import TypeVar - -# Type variables --------------------------------------------------------------- - -__gen_T = TypeVar("__gen_T") - -# Utils ------------------------------------------------------------------------ - -def __gen_eager_or(left_operand: bool, right_operand: bool) -> bool: - return left_operand or right_operand - -def __gen_eager_and(left_operand: bool, right_operand: bool) -> bool: - return left_operand and right_operand - -def __gen_eager_elvis(left_operand: __gen_T, right_operand: __gen_T) -> __gen_T: - return left_operand if left_operand is not None else right_operand - -# Pipelines -------------------------------------------------------------------- - -def test(): - f(__gen_eager_or(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.g", g, [], []), safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.g", g, [], []))) - f(__gen_eager_and(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.g", g, [], []), safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.g", g, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) == (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) != (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) is (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) is not (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) < (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) <= (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) >= (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) > (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) + (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) - (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) * (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f((safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], [])) / (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.h", h, [], []))) - f(__gen_eager_elvis(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.i", i, [], []), safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.infixOperation.i", i, [], []))) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/output/tests/generator/infixOperation/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/output/tests/generator/infixOperation/gen_input.py.map deleted file mode 100644 index 5ce2fee16..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/output/tests/generator/infixOperation/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","or","g","and","h","i"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;AAUA,IAASA,IAAI;IACTC,CAAC,CAAKC,cAAE,CAAN,wGAAAC,CAAC,WAAM,wGAAAA,CAAC;IACVF,CAAC,CAAKG,eAAG,CAAP,wGAAAD,CAAC,WAAO,wGAAAA,CAAC;IAEXF,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,EAAE,EAAC,wGAAAA,CAAC;IACVJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,EAAE,EAAC,wGAAAA,CAAC;IACVJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,EAAG,EAAC,wGAAAA,CAAC;IACXJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,QAAI,wGAAAA,CAAC;IAEXJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,CAAC,EAAC,wGAAAA,CAAC;IACTJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,EAAE,EAAC,wGAAAA,CAAC;IACVJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,EAAE,EAAC,wGAAAA,CAAC;IACVJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,CAAC,EAAC,wGAAAA,CAAC;IAETJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,CAAC,EAAC,wGAAAA,CAAC;IACTJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,CAAC,EAAC,wGAAAA,CAAC;IACTJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,CAAC,EAAC,wGAAAA,CAAC;IACTJ,CAAC,CAAC,CAAA,wGAAAI,CAAC,WAAG,CAAC,EAAC,wGAAAA,CAAC;IAETJ,CAAC,CAAK,iBAAE,CAAN,wGAAAK,CAAC,WAAM,wGAAAA,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/lists/generated/tests/generator/lists/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/lists/generated/tests/generator/lists/gen_input.py new file mode 100644 index 000000000..d5faf3b21 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/lists/generated/tests/generator/lists/gen_input.py @@ -0,0 +1,6 @@ +# Pipelines -------------------------------------------------------------------- + +def test(): + f([]) + f([1, 2, 3]) + f([1, h(), (h()) + (5)]) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/lists/generated/tests/generator/lists/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/lists/generated/tests/generator/lists/gen_input.py.map new file mode 100644 index 000000000..e143f4293 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/lists/generated/tests/generator/lists/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","h"],"mappings":"AAAA;;AAMA,IAASA,IAAI;IACTC,CAAC,CAAC,EAAE;IACJA,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACVA,CAAC,CAAC,CAAC,CAAC,EAAEC,CAAC,IAAI,CAAAA,CAAC,IAAG,CAAC,EAAC,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/output/tests/generator/infixOperation/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/lists/generated/tests/generator/lists/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/infix operation/output/tests/generator/infixOperation/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/lists/generated/tests/generator/lists/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/lists/output/tests/generator/lists/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/lists/output/tests/generator/lists/gen_input.py deleted file mode 100644 index b12c2de8e..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/lists/output/tests/generator/lists/gen_input.py +++ /dev/null @@ -1,10 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def test(): - f([]) - f([1, 2, 3]) - f([1, safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.lists.h", h, [], []), (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.lists.h", h, [], [])) + (5)]) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/lists/output/tests/generator/lists/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/lists/output/tests/generator/lists/gen_input.py.map deleted file mode 100644 index 3e70abc1f..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/lists/output/tests/generator/lists/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","h"],"mappings":"AAAA;;;;;;AAMA,IAASA,IAAI;IACTC,CAAC,CAAC,EAAE;IACJA,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACVA,CAAC,CAAC,CAAC,CAAC,EAAE,+FAAAC,CAAC,WAAI,CAAA,+FAAAA,CAAC,WAAG,CAAC,EAAC,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/literals/output/tests/generator/literals/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/literals/generated/tests/generator/literals/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/literals/output/tests/generator/literals/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/literals/generated/tests/generator/literals/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/literals/output/tests/generator/literals/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/literals/generated/tests/generator/literals/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/literals/output/tests/generator/literals/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/expressions/literals/generated/tests/generator/literals/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/lists/output/tests/generator/lists/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/literals/generated/tests/generator/literals/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/lists/output/tests/generator/lists/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/literals/generated/tests/generator/literals/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/maps/generated/tests/generator/maps/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/maps/generated/tests/generator/maps/gen_input.py new file mode 100644 index 000000000..45bfa9413 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/maps/generated/tests/generator/maps/gen_input.py @@ -0,0 +1,8 @@ +# Pipelines -------------------------------------------------------------------- + +def test(): + g1({}) + g2({'a': 1.2, 'b': 1.0}) + g2({h2(): -0.5, 'b': h1()}) + g3({1.2: 'a', 1.0: 'b'}) + g3({5.6: 'c', h1(): h2()}) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/maps/generated/tests/generator/maps/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/maps/generated/tests/generator/maps/gen_input.py.map new file mode 100644 index 000000000..9b985b867 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/maps/generated/tests/generator/maps/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","g1","g2","h2","h1","g3"],"mappings":"AAAA;;AAYA,IAASA,IAAI;IACTC,EAAE,CAAC,EAAE;IACLC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACtBA,EAAE,CAAC,CAACC,EAAE,IAAI,IAAI,EAAE,GAAG,EAAEC,EAAE;IACvBC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACtBA,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAED,EAAE,IAAID,EAAE","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/literals/output/tests/generator/literals/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/maps/generated/tests/generator/maps/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/literals/output/tests/generator/literals/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/maps/generated/tests/generator/maps/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/maps/output/tests/generator/maps/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/maps/output/tests/generator/maps/gen_input.py deleted file mode 100644 index 2886b68d0..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/maps/output/tests/generator/maps/gen_input.py +++ /dev/null @@ -1,12 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def test(): - g1({}) - g2({'a': 1.2, 'b': 1.0}) - g2({safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.maps.h2", h2, [], []): -0.5, 'b': safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.maps.h1", h1, [], [])}) - g3({1.2: 'a', 1.0: 'b'}) - g3({5.6: 'c', safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.maps.h1", h1, [], []): safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.maps.h2", h2, [], [])}) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/maps/output/tests/generator/maps/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/maps/output/tests/generator/maps/gen_input.py.map deleted file mode 100644 index fd44d6df0..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/maps/output/tests/generator/maps/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","g1","g2","h2","h1","g3"],"mappings":"AAAA;;;;;;AAYA,IAASA,IAAI;IACTC,EAAE,CAAC,EAAE;IACLC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACtBA,EAAE,CAAC,CAAC,+FAAAC,EAAE,WAAI,IAAI,EAAE,GAAG,EAAE,+FAAAC,EAAE;IACvBC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACtBA,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,+FAAAD,EAAE,WAAI,+FAAAD,EAAE","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/member access/generated/tests/generator/memberAccess/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/member access/generated/tests/generator/memberAccess/gen_input.py new file mode 100644 index 000000000..9d5e0b28f --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/member access/generated/tests/generator/memberAccess/gen_input.py @@ -0,0 +1,27 @@ +# Imports ---------------------------------------------------------------------- + +from typing import Any, TypeVar + +# Type variables --------------------------------------------------------------- + +__gen_T = TypeVar("__gen_T") + +# Utils ------------------------------------------------------------------------ + +def __gen_null_safe_member_access(receiver: Any, member_name: str) -> __gen_T | None: + return getattr(receiver, member_name) if receiver is not None else None + +# Pipelines -------------------------------------------------------------------- + +def test(): + f(g()) + f(h()[0]) + f(h()[1]) + f(C().a) + f(C().c) + f(__gen_null_safe_member_access(factory(), 'a')) + f(__gen_null_safe_member_access(factory(), 'c')) + f(1.i(C())) + f(C().j(123)) + f(C().k2('abc')) + f(C.from_csv_file('abc.csv')) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/member access/generated/tests/generator/memberAccess/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/member access/generated/tests/generator/memberAccess/gen_input.py.map new file mode 100644 index 000000000..fdbfddeef --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/member access/generated/tests/generator/memberAccess/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","g","h","result1","result2","c","a","b","factory","j","k","from_csv_file"],"mappings":"AAAA;;;;;;;;;;;;;;;AA4BA,IAASA,IAAI;IACTC,CAAC,CAACC,CAAC;IACHD,CAAC,CAACE,CAAC,GAAGC,CAAO;IACbH,CAAC,CAACE,CAAC,GAAGE,CAAO;IACbJ,CAAC,CAACK,CAAC,GAAGC,CAAC;IACPN,CAAC,CAACK,CAAC,GAAGE,CAAC;IACPP,CAAC,CAAU,6BAAC,CAAVQ,OAAO,KAAIF,CAAC;IACdN,CAAC,CAAU,6BAAC,CAAVQ,OAAO,KAAID,CAAC;IACdP,CAAC,CAAO,CAAC,GAAPK,CAAC;IACHL,CAAC,CAACK,CAAC,GAAGI,CAAC,CAAC,GAAG;IACXT,CAAC,CAACK,CAAC,GAAGK,EAAC,CAAC,KAAK;IACbV,CAAC,CAACK,CAAC,CAACM,aAAa,CAAC,SAAS","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/maps/output/tests/generator/maps/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/member access/generated/tests/generator/memberAccess/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/maps/output/tests/generator/maps/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/member access/generated/tests/generator/memberAccess/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/member access/output/tests/generator/memberAccess/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/member access/output/tests/generator/memberAccess/gen_input.py.map deleted file mode 100644 index 6235475c0..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/member access/output/tests/generator/memberAccess/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","g","h","result1","result2","c","a","b","factory","j","k","from_csv_file"],"mappings":"AAAA;;;;;;;;;;;;;;;;AA4BA,IAASA,IAAI;IACTC,CAAC,CAAC,sGAAAC,CAAC;IACHD,CAAC,CAAC,sGAAAE,CAAC,UAAGC,CAAO;IACbH,CAAC,CAAC,sGAAAE,CAAC,UAAGE,CAAO;IACbJ,CAAC,CAAC,sGAAAK,CAAC,UAAGC,CAAC;IACPN,CAAC,CAAC,sGAAAK,CAAC,UAAGE,CAAC;IACPP,CAAC,CAAU,6BAAC,CAAV,4GAAAQ,OAAO,YAAIF,CAAC;IACdN,CAAC,CAAU,6BAAC,CAAV,4GAAAQ,OAAO,YAAID,CAAC;IACdP,CAAC,CAAC,oHAAM,CAAC,GAAP,sGAAAK,CAAC,aAAK,CAAC;IACTL,CAAC,CAAC,wGAAAK,CAAC,CAAGI,CAAC,GAAL,sGAAAJ,CAAC,WAAK,GAAG;IACXL,CAAC,CAAC,yGAAAK,CAAC,CAAGK,EAAC,GAAL,sGAAAL,CAAC,WAAK,KAAK;IACbL,CAAC,CAAC,oHAAAK,CAAC,CAACM,aAAa,GAAC,SAAS,IAAT,uDAAA,SAAS","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/generated/tests/generator/parenthesizedExpression/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/generated/tests/generator/parenthesizedExpression/gen_input.py new file mode 100644 index 000000000..00162f3cf --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/generated/tests/generator/parenthesizedExpression/gen_input.py @@ -0,0 +1,4 @@ +# Pipelines -------------------------------------------------------------------- + +def test(): + f(g()) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/generated/tests/generator/parenthesizedExpression/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/generated/tests/generator/parenthesizedExpression/gen_input.py.map new file mode 100644 index 000000000..508b1d926 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/generated/tests/generator/parenthesizedExpression/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","g"],"mappings":"AAAA;;AAMA,IAASA,IAAI;IACTC,CAAC,CAAEC,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/member access/output/tests/generator/memberAccess/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/generated/tests/generator/parenthesizedExpression/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/member access/output/tests/generator/memberAccess/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/generated/tests/generator/parenthesizedExpression/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/output/tests/generator/parenthesizedExpression/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/output/tests/generator/parenthesizedExpression/gen_input.py deleted file mode 100644 index 87d500bac..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/output/tests/generator/parenthesizedExpression/gen_input.py +++ /dev/null @@ -1,8 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def test(): - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.parenthesizedExpression.g", g, [], [])) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/output/tests/generator/parenthesizedExpression/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/output/tests/generator/parenthesizedExpression/gen_input.py.map deleted file mode 100644 index d1b6a368d..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/output/tests/generator/parenthesizedExpression/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","g"],"mappings":"AAAA;;;;;;AAMA,IAASA,IAAI;IACTC,CAAC,CAAE,iHAAAC,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/generated/tests/generator/prefixOperation/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/generated/tests/generator/prefixOperation/gen_input.py new file mode 100644 index 000000000..138c6bf3f --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/generated/tests/generator/prefixOperation/gen_input.py @@ -0,0 +1,5 @@ +# Pipelines -------------------------------------------------------------------- + +def test(): + f(not (g())) + f(-(h())) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/generated/tests/generator/prefixOperation/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/generated/tests/generator/prefixOperation/gen_input.py.map new file mode 100644 index 000000000..9a6640681 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/generated/tests/generator/prefixOperation/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","not","g","h"],"mappings":"AAAA;;AAQA,IAASA,IAAI;IACTC,CAAC,CAACC,GAAG,EAACC,CAAC;IACPF,CAAC,CAAC,CAAC,CAAAG,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/output/tests/generator/parenthesizedExpression/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/generated/tests/generator/prefixOperation/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/parenthesized expression/output/tests/generator/parenthesizedExpression/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/generated/tests/generator/prefixOperation/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/output/tests/generator/prefixOperation/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/output/tests/generator/prefixOperation/gen_input.py deleted file mode 100644 index 3805f5bc9..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/output/tests/generator/prefixOperation/gen_input.py +++ /dev/null @@ -1,9 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def test(): - f(not (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.prefixOperation.g", g, [], []))) - f(-(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.prefixOperation.h", h, [], []))) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/output/tests/generator/prefixOperation/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/output/tests/generator/prefixOperation/gen_input.py.map deleted file mode 100644 index 1a4e165db..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/output/tests/generator/prefixOperation/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","not","g","h"],"mappings":"AAAA;;;;;;AAQA,IAASA,IAAI;IACTC,CAAC,CAACC,GAAG,EAAC,yGAAAC,CAAC;IACPF,CAAC,CAAC,CAAC,CAAA,yGAAAG,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/reference/generated/tests/generator/reference/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/reference/generated/tests/generator/reference/gen_input.py new file mode 100644 index 000000000..149d8bb65 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/reference/generated/tests/generator/reference/gen_input.py @@ -0,0 +1,4 @@ +# Pipelines -------------------------------------------------------------------- + +def test(): + f(explain_model()) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/reference/generated/tests/generator/reference/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/reference/generated/tests/generator/reference/gen_input.py.map new file mode 100644 index 000000000..e7e444c3a --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/reference/generated/tests/generator/reference/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","explainmodel"],"mappings":"AAAA;;AAQA,IAASA,IAAI;IACTC,CAAC,CAACC,aAAY","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/output/tests/generator/prefixOperation/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/reference/generated/tests/generator/reference/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/prefix operation/output/tests/generator/prefixOperation/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/reference/generated/tests/generator/reference/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/reference/output/tests/generator/reference/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/reference/output/tests/generator/reference/gen_input.py deleted file mode 100644 index 9ac59daba..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/reference/output/tests/generator/reference/gen_input.py +++ /dev/null @@ -1,8 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def test(): - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.reference.explain_model", explain_model, [], [])) diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/reference/output/tests/generator/reference/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/reference/output/tests/generator/reference/gen_input.py.map deleted file mode 100644 index 95e1773b8..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/reference/output/tests/generator/reference/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","explainmodel"],"mappings":"AAAA;;;;;;AAQA,IAASA,IAAI;IACTC,CAAC,CAAC,+GAAAC,aAAY","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/side effects/output/tests/generator/sideEffects/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/side effects/generated/tests/generator/sideEffects/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/side effects/output/tests/generator/sideEffects/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/side effects/generated/tests/generator/sideEffects/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/side effects/output/tests/generator/sideEffects/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/side effects/generated/tests/generator/sideEffects/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/side effects/output/tests/generator/sideEffects/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/expressions/side effects/generated/tests/generator/sideEffects/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/reference/output/tests/generator/reference/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/side effects/generated/tests/generator/sideEffects/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/reference/output/tests/generator/reference/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/side effects/generated/tests/generator/sideEffects/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/template string/generated/tests/generator/templateString/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/template string/generated/tests/generator/templateString/gen_input.py new file mode 100644 index 000000000..7756f36ad --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/template string/generated/tests/generator/templateString/gen_input.py @@ -0,0 +1,4 @@ +# Pipelines -------------------------------------------------------------------- + +def test(): + f(f'start\n{ g() }\ninner { g() }\nend') diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/template string/generated/tests/generator/templateString/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/template string/generated/tests/generator/templateString/gen_input.py.map new file mode 100644 index 000000000..9333bd67d --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/expressions/template string/generated/tests/generator/templateString/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","g"],"mappings":"AAAA;;AAMA,IAASA,IAAI;IACTC,CAAC,CAAC,EAAA,SACHC,CAAC,EAAG,YACEA,CAAC,EAAG","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/side effects/output/tests/generator/sideEffects/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/expressions/template string/generated/tests/generator/templateString/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/side effects/output/tests/generator/sideEffects/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/expressions/template string/generated/tests/generator/templateString/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/template string/output/tests/generator/templateString/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/expressions/template string/output/tests/generator/templateString/gen_input.py deleted file mode 100644 index 2bc475c4a..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/template string/output/tests/generator/templateString/gen_input.py +++ /dev/null @@ -1,8 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def test(): - f(f'start\n{ safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.templateString.g", g, [], []) }\ninner { safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.templateString.g", g, [], []) }\nend') diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/template string/output/tests/generator/templateString/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/expressions/template string/output/tests/generator/templateString/gen_input.py.map deleted file mode 100644 index d02356915..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/template string/output/tests/generator/templateString/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","g"],"mappings":"AAAA;;;;;;AAMA,IAASA,IAAI;IACTC,CAAC,CAAC,EAAA,SACH,wGAAAC,CAAC,SAAG,YACE,wGAAAA,CAAC,SAAG","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_context_same_package.py b/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_context_same_package.py new file mode 100644 index 000000000..3d5209468 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_context_same_package.py @@ -0,0 +1,9 @@ +# Segments --------------------------------------------------------------------- + +def segment1InSamePackage(): + __gen_yield_result = impureFunction() + return __gen_yield_result + +def segment2InSamePackage(): + __gen_yield_result = impureFunction() + return __gen_yield_result diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_context_same_package.py.map b/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_context_same_package.py.map new file mode 100644 index 000000000..d79ad80dc --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_context_same_package.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["context same package.sdstest"],"names":["segment1insamepackage","result","impurefunction","segment2insamepackage"],"mappings":"AAAA;;AAIA,IAAQA,qBAAqB;IACzB,YAAMC,MAAM,GAAGC,cAAc;IADD,OAAG;;AAInC,IAAQC,qBAAqB;IACzB,YAAMF,MAAM,GAAGC,cAAc;IADD,OAAG","file":"gen_context_same_package.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_input.py new file mode 100644 index 000000000..8fd2d0cc9 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_input.py @@ -0,0 +1,21 @@ +# Imports ---------------------------------------------------------------------- + +from special_location import function1InCompilationUnitWithPythonModule, function2InCompilationUnitWithPythonModule as h +from tests.generator.differentPackage import function1InDifferentPackage, function2InDifferentPackage as g +from tests.generator.imports.gen_context_same_package import segment1InSamePackage, segment2InSamePackage + +# Pipelines -------------------------------------------------------------------- + +def test(): + f(segment1InSamePackage()) + f(segment1InSamePackage()) + f(segment2InSamePackage()) + f(segment2InSamePackage()) + f(function1InDifferentPackage()) + f(function1InDifferentPackage()) + f(g()) + f(g()) + f(function1InCompilationUnitWithPythonModule()) + f(function1InCompilationUnitWithPythonModule()) + f(h()) + f(h()) diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_input.py.map new file mode 100644 index 000000000..b5c506e32 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","segment1insamepackage","segment2insamepackage","function1indifferentpackage","g","function1incompilationunitwithpythonmodule","h"],"mappings":"AAAA;;;;;;;;AASA,IAASA,IAAI;IACTC,CAAC,CAACC,qBAAqB;IACvBD,CAAC,CAACC,qBAAqB;IACvBD,CAAC,CAACE,qBAAqB;IACvBF,CAAC,CAACE,qBAAqB;IAEvBF,CAAC,CAACG,2BAA2B;IAC7BH,CAAC,CAACG,2BAA2B;IAC7BH,CAAC,CAACI,CAAC;IACHJ,CAAC,CAACI,CAAC;IAEHJ,CAAC,CAACK,0CAA0C;IAC5CL,CAAC,CAACK,0CAA0C;IAC5CL,CAAC,CAACM,CAAC;IACHN,CAAC,CAACM,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/template string/output/tests/generator/templateString/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/expressions/template string/output/tests/generator/templateString/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/imports/general/generated/tests/generator/imports/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/generated/tests/generator/wildcard/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/generated/tests/generator/wildcard/gen_input.py new file mode 100644 index 000000000..4283f3f54 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/generated/tests/generator/wildcard/gen_input.py @@ -0,0 +1,16 @@ +# Imports ---------------------------------------------------------------------- + +from special_location import function1InCompilationUnitWithPythonModule, function2InCompilationUnitWithPythonModule +from tests.generator.differentPackageWildcard import function1InDifferentPackage, function2InDifferentPackage + +# Pipelines -------------------------------------------------------------------- + +def test(): + f(function1InDifferentPackage()) + f(function1InDifferentPackage()) + f(function2InDifferentPackage()) + f(function2InDifferentPackage()) + f(function1InCompilationUnitWithPythonModule()) + f(function1InCompilationUnitWithPythonModule()) + f(function2InCompilationUnitWithPythonModule()) + f(function2InCompilationUnitWithPythonModule()) diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/generated/tests/generator/wildcard/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/generated/tests/generator/wildcard/gen_input.py.map new file mode 100644 index 000000000..ff643626d --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/generated/tests/generator/wildcard/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","function1indifferentpackage","function2indifferentpackage","function1incompilationunitwithpythonmodule","function2incompilationunitwithpythonmodule"],"mappings":"AAAA;;;;;;;AAOA,IAASA,IAAI;IACTC,CAAC,CAACC,2BAA2B;IAC7BD,CAAC,CAACC,2BAA2B;IAC7BD,CAAC,CAACE,2BAA2B;IAC7BF,CAAC,CAACE,2BAA2B;IAE7BF,CAAC,CAACG,0CAA0C;IAC5CH,CAAC,CAACG,0CAA0C;IAC5CH,CAAC,CAACI,0CAA0C;IAC5CJ,CAAC,CAACI,0CAA0C","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/generated/tests/generator/wildcard/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/imports/wildcard/generated/tests/generator/wildcard/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/generated/tests/generator/partialImpureDependencyFileConstant/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/generated/tests/generator/partialImpureDependencyFileConstant/gen_input.py new file mode 100644 index 000000000..d5d704c03 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/generated/tests/generator/partialImpureDependencyFileConstant/gen_input.py @@ -0,0 +1,10 @@ +# Pipelines -------------------------------------------------------------------- + +def testPipeline(): + impureFileWrite = iFileWriteA() + impureFileWrite2 = iFileWriteA() + impureFileReadAgain = iFileReadA() + impureFileWriteB = iFileWriteB() + impureFileWrite2B = iFileWriteB() + impureFileReadAgainB = iFileReadB() + result = (impureFileReadAgain) + (impureFileReadAgainB) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/generated/tests/generator/partialImpureDependencyFileConstant/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/generated/tests/generator/partialImpureDependencyFileConstant/gen_input.py.map new file mode 100644 index 000000000..d8bcf8c17 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/generated/tests/generator/partialImpureDependencyFileConstant/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["testpipeline","ifilewritea","ifilereada","ifilewriteb","ifilereadb","impurefilereadagain","impurefilereadagainb"],"mappings":"AAAA;;AAUA,IAASA,YAAY;IAEjB,kBAAsBC,WAAW;IACjC,mBAAuBA,WAAW;IAClC,sBAA0BC,UAAU;IAGpC,mBAAuBC,WAAW;IAClC,oBAAwBA,WAAW;IACnC,uBAA2BC,UAAU;IAGrC,SAAe,CAAAC,mBAAmB,EAAC,CAAC,EAACC,oBAAoB","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/output/tests/generator/partialImpureDependencyFileConstant/gen_input_testPipeline.py b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/generated/tests/generator/partialImpureDependencyFileConstant/gen_input_testPipeline.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/output/tests/generator/partialImpureDependencyFileConstant/gen_input_testPipeline.py rename to packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/generated/tests/generator/partialImpureDependencyFileConstant/gen_input_testPipeline.py diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/output/tests/generator/partialImpureDependencyFileConstant/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/output/tests/generator/partialImpureDependencyFileConstant/gen_input.py deleted file mode 100644 index 757e37144..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/output/tests/generator/partialImpureDependencyFileConstant/gen_input.py +++ /dev/null @@ -1,21 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def testPipeline(): - impureFileWrite = iFileWriteA() - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileWrite', impureFileWrite) - impureFileWrite2 = iFileWriteA() - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileWrite2', impureFileWrite2) - impureFileReadAgain = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialImpureDependencyFileConstant.iFileReadA", iFileReadA, [], [safeds_runner.server.pipeline_manager.runner_filemtime('a.txt')]) - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileReadAgain', impureFileReadAgain) - impureFileWriteB = iFileWriteB() - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileWriteB', impureFileWriteB) - impureFileWrite2B = iFileWriteB() - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileWrite2B', impureFileWrite2B) - impureFileReadAgainB = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialImpureDependencyFileConstant.iFileReadB", iFileReadB, [], [safeds_runner.server.pipeline_manager.runner_filemtime('b.txt')]) - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileReadAgainB', impureFileReadAgainB) - result = (impureFileReadAgain) + (impureFileReadAgainB) - safeds_runner.server.pipeline_manager.runner_save_placeholder('result', result) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/output/tests/generator/partialImpureDependencyFileConstant/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/output/tests/generator/partialImpureDependencyFileConstant/gen_input.py.map deleted file mode 100644 index daeb4672f..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file constant/output/tests/generator/partialImpureDependencyFileConstant/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["testpipeline","ifilewritea","ifilereada","ifilewriteb","ifilereadb","impurefilereadagain","impurefilereadagainb"],"mappings":"AAAA;;;;;;AAUA,IAASA,YAAY;IAEjB,kBAAsBC,WAAW;IAAjC;IACA,mBAAuBA,WAAW;IAAlC;IACA,sBAA0B,sIAAAC,UAAU,OAAV,+DAAY;IAAtC;IAGA,mBAAuBC,WAAW;IAAlC;IACA,oBAAwBA,WAAW;IAAnC;IACA,uBAA2B,sIAAAC,UAAU,OAAV,+DAAY;IAAvC;IAGA,SAAe,CAAAC,mBAAmB,EAAC,CAAC,EAACC,oBAAoB;IAAzD","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/generated/tests/generator/partialImpureDependencyFileParameter/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/generated/tests/generator/partialImpureDependencyFileParameter/gen_input.py new file mode 100644 index 000000000..725220e42 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/generated/tests/generator/partialImpureDependencyFileParameter/gen_input.py @@ -0,0 +1,7 @@ +# Pipelines -------------------------------------------------------------------- + +def testPipeline(): + impureFileWrite = iFileWrite('b.txt') + impureFileWrite2 = iFileWrite('c.txt') + impureFileReadAgain = iFileRead('d.txt') + result = (impureFileReadAgain) + (2) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/generated/tests/generator/partialImpureDependencyFileParameter/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/generated/tests/generator/partialImpureDependencyFileParameter/gen_input.py.map new file mode 100644 index 000000000..74485ed84 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/generated/tests/generator/partialImpureDependencyFileParameter/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["testpipeline","ifilewrite","ifileread","impurefilereadagain"],"mappings":"AAAA;;AAMA,IAASA,YAAY;IAEjB,kBAAsBC,UAAU,CAAC,OAAO;IACxC,mBAAuBA,UAAU,CAAC,OAAO;IACzC,sBAA0BC,SAAS,CAAC,OAAO;IAG3C,SAAe,CAAAC,mBAAmB,EAAC,CAAC,EAAC,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/output/tests/generator/partialImpureDependencyFileParameter/gen_input_testPipeline.py b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/generated/tests/generator/partialImpureDependencyFileParameter/gen_input_testPipeline.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/output/tests/generator/partialImpureDependencyFileParameter/gen_input_testPipeline.py rename to packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/generated/tests/generator/partialImpureDependencyFileParameter/gen_input_testPipeline.py diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/output/tests/generator/partialImpureDependencyFileParameter/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/output/tests/generator/partialImpureDependencyFileParameter/gen_input.py deleted file mode 100644 index 5c232ce1d..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/output/tests/generator/partialImpureDependencyFileParameter/gen_input.py +++ /dev/null @@ -1,15 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def testPipeline(): - impureFileWrite = iFileWrite('b.txt') - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileWrite', impureFileWrite) - impureFileWrite2 = iFileWrite('c.txt') - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileWrite2', impureFileWrite2) - impureFileReadAgain = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialImpureDependencyFileParameter.iFileRead", iFileRead, ['d.txt'], [safeds_runner.server.pipeline_manager.runner_filemtime('d.txt')]) - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileReadAgain', impureFileReadAgain) - result = (impureFileReadAgain) + (2) - safeds_runner.server.pipeline_manager.runner_save_placeholder('result', result) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/output/tests/generator/partialImpureDependencyFileParameter/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/output/tests/generator/partialImpureDependencyFileParameter/gen_input.py.map deleted file mode 100644 index ce260cc7a..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency file parameter/output/tests/generator/partialImpureDependencyFileParameter/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["testpipeline","ifilewrite","ifileread","impurefilereadagain"],"mappings":"AAAA;;;;;;AAMA,IAASA,YAAY;IAEjB,kBAAsBC,UAAU,CAAC,OAAO;IAAxC;IACA,mBAAuBA,UAAU,CAAC,OAAO;IAAzC;IACA,sBAA0B,sIAAAC,SAAS,GAAC,OAAO,IAAP,uDAAA,OAAO;IAA3C;IAGA,SAAe,CAAAC,mBAAmB,EAAC,CAAC,EAAC,CAAC;IAAtC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/generated/tests/generator/partialImpureDependency/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/generated/tests/generator/partialImpureDependency/gen_input.py new file mode 100644 index 000000000..83774fb0d --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/generated/tests/generator/partialImpureDependency/gen_input.py @@ -0,0 +1,18 @@ +# Pipelines -------------------------------------------------------------------- + +def testPipeline(): + i1(1) + impureFileWrite = iFileWrite() + impureFileWrite2 = iFileWrite() + pureValueForImpure2 = noPartialEvalInt(2) + pureValueForImpure3 = 3 + def __gen_block_lambda_0(): + i1(1) + __gen_block_lambda_result_r = 1 + return __gen_block_lambda_result_r + fp(__gen_block_lambda_0) + i1(1) + impureA1 = i1(pureValueForImpure2) + impureA2 = i1(noPartialEvalInt(3)) + i1(4) + result = i1(impureA2) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/generated/tests/generator/partialImpureDependency/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/generated/tests/generator/partialImpureDependency/gen_input.py.map new file mode 100644 index 000000000..4d67a8700 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/generated/tests/generator/partialImpureDependency/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["testpipeline","i1","ifilewrite","nopartialevalint","r","fp","purevalueforimpure2","purevalueforimpure3","impurea2"],"mappings":"AAAA;;AAeA,IAASA,YAAY;IACjBC,EAAE,CAAC,CAAC;IAGJ,kBAAsBC,UAAU;IAChC,mBAAuBA,UAAU;IAEjC,sBAA0BC,gBAAgB,CAAC,CAAC;IAC5C,sBAA0B,CAAC;IAExB;QACCF,EAAE,CAAC,CAAC;QACJ,0BAAMG,CAAC,GAAG,CAAC;QAFZ,OAEC,0BAAMA,CAAC;IAFXC,EAAE,CAAC;IAIHJ,EAAE,CAAC,CAAC;IACJ,WAAeA,EAAE,CAACK,mBAAmB;IACrC,WAAeL,EAAE,CAACE,gBAAgB,CAACI,CAAmB;IACtDN,EAAE,CAAC,CAAC;IAGJ,SAAeA,EAAE,CAACO,QAAQ","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/output/tests/generator/partialImpureDependency/gen_input_testPipeline.py b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/generated/tests/generator/partialImpureDependency/gen_input_testPipeline.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/output/tests/generator/partialImpureDependency/gen_input_testPipeline.py rename to packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/generated/tests/generator/partialImpureDependency/gen_input_testPipeline.py diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/output/tests/generator/partialImpureDependency/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/output/tests/generator/partialImpureDependency/gen_input.py deleted file mode 100644 index dad745575..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/output/tests/generator/partialImpureDependency/gen_input.py +++ /dev/null @@ -1,29 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def testPipeline(): - i1(1) - impureFileWrite = iFileWrite() - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileWrite', impureFileWrite) - impureFileWrite2 = iFileWrite() - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureFileWrite2', impureFileWrite2) - pureValueForImpure2 = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialImpureDependency.noPartialEvalInt", noPartialEvalInt, [2], []) - safeds_runner.server.pipeline_manager.runner_save_placeholder('pureValueForImpure2', pureValueForImpure2) - pureValueForImpure3 = 3 - safeds_runner.server.pipeline_manager.runner_save_placeholder('pureValueForImpure3', pureValueForImpure3) - def __gen_block_lambda_0(): - i1(1) - __gen_block_lambda_result_r = 1 - return __gen_block_lambda_result_r - fp(__gen_block_lambda_0) - i1(1) - impureA1 = i1(pureValueForImpure2) - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureA1', impureA1) - impureA2 = i1(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialImpureDependency.noPartialEvalInt", noPartialEvalInt, [3], [])) - safeds_runner.server.pipeline_manager.runner_save_placeholder('impureA2', impureA2) - i1(4) - result = i1(impureA2) - safeds_runner.server.pipeline_manager.runner_save_placeholder('result', result) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/output/tests/generator/partialImpureDependency/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/output/tests/generator/partialImpureDependency/gen_input.py.map deleted file mode 100644 index 85bd851ae..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/impure dependency/output/tests/generator/partialImpureDependency/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["testpipeline","i1","ifilewrite","nopartialevalint","r","fp","purevalueforimpure2","purevalueforimpure3","impurea2"],"mappings":"AAAA;;;;;;AAeA,IAASA,YAAY;IACjBC,EAAE,CAAC,CAAC;IAGJ,kBAAsBC,UAAU;IAAhC;IACA,mBAAuBA,UAAU;IAAjC;IAEA,sBAA0B,gIAAAC,gBAAgB,GAAC,CAAC;IAA5C;IACA,sBAA0B,CAAC;IAA3B;IAEG;QACCF,EAAE,CAAC,CAAC;QACJ,0BAAMG,CAAC,GAAG,CAAC;QAFZ,OAEC,0BAAMA,CAAC;IAFXC,EAAE,CAAC;IAIHJ,EAAE,CAAC,CAAC;IACJ,WAAeA,EAAE,CAACK,mBAAmB;IAArC;IACA,WAAeL,EAAE,CAAC,gIAAAE,gBAAgB,GAACI,CAAmB;IAAtD;IACAN,EAAE,CAAC,CAAC;IAGJ,SAAeA,EAAE,CAACO,QAAQ;IAA1B","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/generated/tests/generator/partialPureDependency/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/generated/tests/generator/partialPureDependency/gen_input.py new file mode 100644 index 000000000..081abea7a --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/generated/tests/generator/partialPureDependency/gen_input.py @@ -0,0 +1,28 @@ +# Pipelines -------------------------------------------------------------------- + +def testPipeline(): + lFalse = False + lDouble = -1.0 + lInt = 1 + lNull = None + lStrMulti = 'multi\nline' + boolean1 = True + value1 = g(True, -1.0, 1, None, 'multi\nline') + def __gen_block_lambda_0(): + i = 1 + i2 = 3 + j = 6 + j2 = 4 + __gen_block_lambda_result_z = 7 + return __gen_block_lambda_result_z + o = (f(__gen_block_lambda_0)) + (f(lambda : 2)) + mapKey = 'key' + mapValue = 'value' + mapResult = g2({'key': 'value'}) + listV1 = 1 + listV3 = noPartialEvalInt(1) + list = [1] + list3 = [listV3] + listValue = list3[0] + listResult = g3(list) + result = (((-(o)) + (1)) + (value1)) + (((mapResult) * (listResult)) / (g4(listValue))) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/generated/tests/generator/partialPureDependency/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/generated/tests/generator/partialPureDependency/gen_input.py.map new file mode 100644 index 000000000..232e9d9be --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/generated/tests/generator/partialPureDependency/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["testpipeline","false","null","g","boolean1","ldouble","lint","lnull","lstrmulti","z","f","g2","mapkey","mapvalue","nopartialevalint","listv1","listv3","list3","g3","list","o","value1","mapresult","listresult","g4","listvalue"],"mappings":"AAAA;;AAcA,IAASA,YAAY;IACjB,SAAaC,KAAK;IAGlB,UAAc,IAAI;IAGlB,OAAW,CAAC;IAGZ,QAAYC,IAAI;IAGhB,YAAgB;IAIhB,WAAe;IAGf,SAAaC,CAAC,CAACC,IAAQ,EAAEC,IAAO,EAAEC,CAAI,EAAEC,IAAK,EAAEC,aAAS;IAG9C;QACN,IAAQ,CAAC;QACT,KAAS,CAAC;QACV,IAAQ;QACR,KAAS;QACT,0BAAMC,CAAC,GAAG;QALJ,OAKN,0BAAMA,CAAC;IALX,IAAQ,CAAAC,CAAC,CAAC,uBAMP,CAAC,EAACA,CAAC,CAAC,SAAM,CAAC;IAcd,SAAa,KAAK;IAClB,WAAe,OAAO;IACtB,YAAgBC,EAAE,CAAC,CAACC,KAAM,EAAEC,OAAQ;IAMpC,SAAa,CAAC;IAEd,SAAaC,gBAAgB,CAACC,CAAM;IAEpC,OAAW,CAACA,CAAM;IAElB,QAAY,CAACC,MAAM;IACnB,YAAgBC,KAAK,CAAC,CAAC;IAEvB,aAAiBC,EAAE,CAACC,IAAI;IAIxB,SAAe,CAAO,CAAP,CAAA,CAAC,CAAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAACC,MAAM,GAAC,CAAC,EAAwB,CAAvB,CAAAC,SAAS,EAAC,CAAC,EAACC,UAAU,GAAC,CAAC,EAACC,EAAE,CAACC,SAAS","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/output/tests/generator/partialPureDependency/gen_input_testPipeline.py b/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/generated/tests/generator/partialPureDependency/gen_input_testPipeline.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/output/tests/generator/partialPureDependency/gen_input_testPipeline.py rename to packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/generated/tests/generator/partialPureDependency/gen_input_testPipeline.py diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/output/tests/generator/partialPureDependency/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/output/tests/generator/partialPureDependency/gen_input.py deleted file mode 100644 index 6c02271fe..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/output/tests/generator/partialPureDependency/gen_input.py +++ /dev/null @@ -1,50 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def testPipeline(): - lFalse = False - safeds_runner.server.pipeline_manager.runner_save_placeholder('lFalse', lFalse) - lDouble = -1.0 - safeds_runner.server.pipeline_manager.runner_save_placeholder('lDouble', lDouble) - lInt = 1 - safeds_runner.server.pipeline_manager.runner_save_placeholder('lInt', lInt) - lNull = None - safeds_runner.server.pipeline_manager.runner_save_placeholder('lNull', lNull) - lStrMulti = 'multi\nline' - safeds_runner.server.pipeline_manager.runner_save_placeholder('lStrMulti', lStrMulti) - boolean1 = True - safeds_runner.server.pipeline_manager.runner_save_placeholder('boolean1', boolean1) - value1 = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialPureDependency.g", g, [True, -1.0, 1, None, 'multi\nline'], []) - safeds_runner.server.pipeline_manager.runner_save_placeholder('value1', value1) - def __gen_block_lambda_0(): - i = 1 - i2 = 3 - j = 6 - j2 = 4 - __gen_block_lambda_result_z = 7 - return __gen_block_lambda_result_z - o = (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialPureDependency.f", f, [__gen_block_lambda_0], [])) + (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialPureDependency.f", f, [lambda : 2], [])) - safeds_runner.server.pipeline_manager.runner_save_placeholder('o', o) - mapKey = 'key' - safeds_runner.server.pipeline_manager.runner_save_placeholder('mapKey', mapKey) - mapValue = 'value' - safeds_runner.server.pipeline_manager.runner_save_placeholder('mapValue', mapValue) - mapResult = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialPureDependency.g2", g2, [{'key': 'value'}], []) - safeds_runner.server.pipeline_manager.runner_save_placeholder('mapResult', mapResult) - listV1 = 1 - safeds_runner.server.pipeline_manager.runner_save_placeholder('listV1', listV1) - listV3 = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialPureDependency.noPartialEvalInt", noPartialEvalInt, [1], []) - safeds_runner.server.pipeline_manager.runner_save_placeholder('listV3', listV3) - list = [1] - safeds_runner.server.pipeline_manager.runner_save_placeholder('list', list) - list3 = [listV3] - safeds_runner.server.pipeline_manager.runner_save_placeholder('list3', list3) - listValue = list3[0] - safeds_runner.server.pipeline_manager.runner_save_placeholder('listValue', listValue) - listResult = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialPureDependency.g3", g3, [list], []) - safeds_runner.server.pipeline_manager.runner_save_placeholder('listResult', listResult) - result = (((-(o)) + (1)) + (value1)) + (((mapResult) * (listResult)) / (safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialPureDependency.g4", g4, [listValue], []))) - safeds_runner.server.pipeline_manager.runner_save_placeholder('result', result) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/output/tests/generator/partialPureDependency/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/output/tests/generator/partialPureDependency/gen_input.py.map deleted file mode 100644 index 39bf339de..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/pure dependency/output/tests/generator/partialPureDependency/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["testpipeline","false","null","g","boolean1","ldouble","lint","lnull","lstrmulti","z","f","g2","mapkey","mapvalue","nopartialevalint","listv1","listv3","list3","g3","list","o","value1","mapresult","listresult","g4","listvalue"],"mappings":"AAAA;;;;;;AAcA,IAASA,YAAY;IACjB,SAAaC,KAAK;IAAlB;IAGA,UAAc,IAAI;IAAlB;IAGA,OAAW,CAAC;IAAZ;IAGA,QAAYC,IAAI;IAAhB;IAGA,YAAgB;IAAhB;IAIA,WAAe;IAAf;IAGA,SAAa,+GAAAC,CAAC,GAACC,IAAQ,EAAEC,IAAO,EAAEC,CAAI,EAAEC,IAAK,EAAEC,aAAS;IAAxD;IAGU;QACN,IAAQ,CAAC;QACT,KAAS,CAAC;QACV,IAAQ;QACR,KAAS;QACT,0BAAMC,CAAC,GAAG;QALJ,OAKN,0BAAMA,CAAC;IALX,IAAQ,CAAA,+GAAAC,CAAC,GAAC,4BAMP,CAAC,EAAC,+GAAAA,CAAC,GAAC,SAAM,CAAC;IANd;IAoBA,SAAa,KAAK;IAAlB;IACA,WAAe,OAAO;IAAtB;IACA,YAAgB,gHAAAC,EAAE,GAAC,CAACC,KAAM,EAAEC,OAAQ;IAApC;IAMA,SAAa,CAAC;IAAd;IAEA,SAAa,8HAAAC,gBAAgB,GAACC,CAAM;IAApC;IAEA,OAAW,CAACA,CAAM;IAAlB;IAEA,QAAY,CAACC,MAAM;IAAnB;IACA,YAAgBC,KAAK,CAAC,CAAC;IAAvB;IAEA,aAAiB,gHAAAC,EAAE,GAACC,IAAI;IAAxB;IAIA,SAAe,CAAO,CAAP,CAAA,CAAC,CAAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAACC,MAAM,GAAC,CAAC,EAAwB,CAAvB,CAAAC,SAAS,EAAC,CAAC,EAACC,UAAU,GAAC,CAAC,EAAC,gHAAAC,EAAE,GAACC,SAAS;IAAtE","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/generated/tests/generator/partialRedundantImpurity/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/generated/tests/generator/partialRedundantImpurity/gen_input.py new file mode 100644 index 000000000..a6b84a0cf --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/generated/tests/generator/partialRedundantImpurity/gen_input.py @@ -0,0 +1,5 @@ +# Pipelines -------------------------------------------------------------------- + +def testPipeline(): + pureValue = noPartialEvalInt(2) + result = (pureValue) - (1) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/generated/tests/generator/partialRedundantImpurity/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/generated/tests/generator/partialRedundantImpurity/gen_input.py.map new file mode 100644 index 000000000..88b010512 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/generated/tests/generator/partialRedundantImpurity/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["testpipeline","nopartialevalint","purevalue"],"mappings":"AAAA;;AAeA,IAASA,YAAY;IAMjB,YAAgBC,gBAAgB,CAAC,CAAC;IAalC,SAAe,CAAAC,SAAS,EAAC,CAAC,EAAC,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/output/tests/generator/partialRedundantImpurity/gen_input_testPipeline.py b/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/generated/tests/generator/partialRedundantImpurity/gen_input_testPipeline.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/output/tests/generator/partialRedundantImpurity/gen_input_testPipeline.py rename to packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/generated/tests/generator/partialRedundantImpurity/gen_input_testPipeline.py diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/output/tests/generator/partialRedundantImpurity/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/output/tests/generator/partialRedundantImpurity/gen_input.py deleted file mode 100644 index 50bc0c245..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/output/tests/generator/partialRedundantImpurity/gen_input.py +++ /dev/null @@ -1,11 +0,0 @@ -# Imports ---------------------------------------------------------------------- - -import safeds_runner.server.pipeline_manager - -# Pipelines -------------------------------------------------------------------- - -def testPipeline(): - pureValue = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.partialRedundantImpurity.noPartialEvalInt", noPartialEvalInt, [2], []) - safeds_runner.server.pipeline_manager.runner_save_placeholder('pureValue', pureValue) - result = (pureValue) - (1) - safeds_runner.server.pipeline_manager.runner_save_placeholder('result', result) diff --git a/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/output/tests/generator/partialRedundantImpurity/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/output/tests/generator/partialRedundantImpurity/gen_input.py.map deleted file mode 100644 index a6bb04bcd..000000000 --- a/packages/safe-ds-lang/tests/resources/generation/partial/redundant impurity/output/tests/generator/partialRedundantImpurity/gen_input.py.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["input.sdstest"],"names":["testpipeline","nopartialevalint","purevalue"],"mappings":"AAAA;;;;;;AAeA,IAASA,YAAY;IAMjB,YAAgB,iIAAAC,gBAAgB,GAAC,CAAC;IAAlC;IAaA,SAAe,CAAAC,SAAS,EAAC,CAAC,EAAC,CAAC;IAA5B","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/python module/output/special_module/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/python module/generated/special_module/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/python module/output/special_module/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/python module/generated/special_module/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/python module/output/special_module/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/python module/generated/special_module/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/python module/output/special_module/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/python module/generated/special_module/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/call/output/tests/generator/call/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/generated/tests/generator/callWithRunnerIntegration/gen_input.py similarity index 52% rename from packages/safe-ds-lang/tests/resources/generation/expressions/call/output/tests/generator/call/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/generated/tests/generator/callWithRunnerIntegration/gen_input.py index 101161d03..ddea38268 100644 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/call/output/tests/generator/call/gen_input.py +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/generated/tests/generator/callWithRunnerIntegration/gen_input.py @@ -15,19 +15,20 @@ def __gen_null_safe_call(receiver: Any, callable: Callable[[], __gen_T]) -> __ge # Pipelines -------------------------------------------------------------------- def test(): - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.g", lambda *_ : g(1, param2=2), [1, 2], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.g", lambda *_ : g(2, param2=1), [2, 1], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.h", lambda *_ : h(1, param_2=2), [1, 2], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.h", lambda *_ : h(2, param_2=1), [2, 1], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.h", h, [2, 0], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.g", lambda *_ : g(1, param2=2), [1, 2], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.g", lambda *_ : g(2, param2=1), [2, 1], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.h", lambda *_ : h(1, param_2=2), [1, 2], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.h", lambda *_ : h(2, param_2=1), [2, 1], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.h", h, [2, 0], [])) 'abc'.i() 'abc'.j(123) k(456, 1.23) - __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.g", lambda *_ : g(1, param2=2), [1, 2], []))) - __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.g", lambda *_ : g(2, param2=1), [2, 1], []))) - __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.h", lambda *_ : h(1, param_2=2), [1, 2], []))) - __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.h", lambda *_ : h(2, param_2=1), [2, 1], []))) - __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.call.h", h, [2, 0], []))) + __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.g", lambda *_ : g(1, param2=2), [1, 2], []))) + __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.g", lambda *_ : g(2, param2=1), [2, 1], []))) + __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.h", lambda *_ : h(1, param_2=2), [1, 2], []))) + __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.h", lambda *_ : h(2, param_2=1), [2, 1], []))) + __gen_null_safe_call(f, lambda: f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.h", h, [2, 0], []))) __gen_null_safe_call(i, lambda: 'abc'.i()) __gen_null_safe_call(j, lambda: 'abc'.j(123)) __gen_null_safe_call(k, lambda: k(456, 1.23)) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.callWithRunnerIntegration.readFile", readFile, [], [safeds_runner.server.pipeline_manager.runner_filemtime('a.txt')])) diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/generated/tests/generator/callWithRunnerIntegration/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/generated/tests/generator/callWithRunnerIntegration/gen_input.py.map new file mode 100644 index 000000000..94e183b39 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/generated/tests/generator/callWithRunnerIntegration/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","g","param2","h","i","j","k","readfile"],"mappings":"AAAA;;;;;;;;;;;;;;;;AA6BA,IAASA,IAAI;IACTC,CAAC,CAAE,+HAAAC,CAAC,CAAC,CAAC,EAxBNC,MAAM,CAwBE,CAAC,IAAJ,CAAC,EAAE,CAAC;IACTF,CAAC,CAAE,+HAAAC,CAAC,CAAsB,CAAC,EAzB3BC,MAAM,CAyBQ,CAAC,IAAW,CAAC,EAAb,CAAC;IACfF,CAAC,CAAE,+HAAAG,CAAC,CAAC,CAAC,EArBiBD,OAAM,CAqBrB,CAAC,IAAJ,CAAC,EAAE,CAAC;IACTF,CAAC,CAAE,+HAAAG,CAAC,CAAsB,CAAC,EAtBJD,OAAM,CAsBf,CAAC,IAAW,CAAC,EAAb,CAAC;IACfF,CAAC,CAAE,mHAAAG,CAAC,GAAU,CAAC,EAvBsB,CAAC;IAwBpC,KAAK;IACL,KAAK,GAAE,GAAG;IACZ,EAAQ,GAAG,EAAT,IAAI;IAEL,oBAAC,CAAFH,CAAC,UAADA,CAAC,CAAG,+HAAAC,CAAC,CAAC,CAAC,EAjCPC,MAAM,CAiCG,CAAC,IAAJ,CAAC,EAAE,CAAC;IACT,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAG,+HAAAC,CAAC,CAAsB,CAAC,EAlC5BC,MAAM,CAkCS,CAAC,IAAW,CAAC,EAAb,CAAC;IACf,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAG,+HAAAG,CAAC,CAAC,CAAC,EA9BgBD,OAAM,CA8BpB,CAAC,IAAJ,CAAC,EAAE,CAAC;IACT,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAG,+HAAAG,CAAC,CAAsB,CAAC,EA/BLD,OAAM,CA+Bd,CAAC,IAAW,CAAC,EAAb,CAAC;IACf,oBAAC,CAAFF,CAAC,UAADA,CAAC,CAAG,mHAAAG,CAAC,GAAU,CAAC,EAhCqB,CAAC;IAiCrC,oBAAC,CAAFC,CAAC,UAAE,KAAK;IACP,oBAAC,CAAFC,CAAC,UAAE,KAAK,GAAE,GAAG;IACZ,oBAAC,CAAFC,CAAC,UAAD,EAAS,GAAG,EAAT,IAAI;IAEPN,CAAC,CAAC,0HAAAO,QAAQ,OAAR,+DAAU","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/output/tests/generator/wildcard/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/generated/tests/generator/callWithRunnerIntegration/gen_input_test.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/imports/wildcard/output/tests/generator/wildcard/gen_input_test.py rename to packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/generated/tests/generator/callWithRunnerIntegration/gen_input_test.py diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/input.sdstest b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/input.sdstest new file mode 100644 index 000000000..e020dca03 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/call/input.sdstest @@ -0,0 +1,50 @@ +package tests.generator.callWithRunnerIntegration + +@Impure([ImpurityReason.Other]) fun f(param: Any?) + +@Pure fun g( + param1: Int, + param2: Int = 0 +) -> result: Boolean + +@Pure fun h( + @PythonName("param_1") param1: Int, + @PythonName("param_2") param2: Int = 0 +) -> result: Boolean + +@Impure([ImpurityReason.Other]) +@PythonCall("$param.i()") +fun i(param: Any?) + +@Impure([ImpurityReason.Other]) +@PythonCall("$param.j($param2)") +fun j(param: Any?, param2: Any?) + +@Impure([ImpurityReason.Other]) +@PythonCall("k($param2, $param)") +fun k(param: Any?, param2: Any?) + +@Impure([ImpurityReason.FileReadFromConstantPath("a.txt")]) +fun readFile() -> content: String + +pipeline test { + f((g(1, 2))); + f((g(param2 = 1, param1 = 2))); + f((h(1, 2))); + f((h(param2 = 1, param1 = 2))); + f((h(param1 = 2))); + i("abc"); + j("abc", 123); + k(1.23, 456); + + f?((g(1, 2))); + f?((g(param2 = 1, param1 = 2))); + f?((h(1, 2))); + f?((h(param2 = 1, param1 = 2))); + f?((h(param1 = 2))); + i?("abc"); + j?("abc", 123); + k?(1.23, 456); + + f(readFile()); +} diff --git a/packages/safe-ds-lang/tests/resources/generation/expressions/member access/output/tests/generator/memberAccess/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/generated/tests/generator/memberAccessWithRunnerIntegration/gen_input.py similarity index 51% rename from packages/safe-ds-lang/tests/resources/generation/expressions/member access/output/tests/generator/memberAccess/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/generated/tests/generator/memberAccessWithRunnerIntegration/gen_input.py index f819223ec..60a79e4c5 100644 --- a/packages/safe-ds-lang/tests/resources/generation/expressions/member access/output/tests/generator/memberAccess/gen_input.py +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/generated/tests/generator/memberAccessWithRunnerIntegration/gen_input.py @@ -15,14 +15,14 @@ def __gen_null_safe_member_access(receiver: Any, member_name: str) -> __gen_T | # Pipelines -------------------------------------------------------------------- def test(): - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.g", g, [], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.h", h, [], [])[0]) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.h", h, [], [])[1]) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.C", C, [], []).a) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.C", C, [], []).c) - f(__gen_null_safe_member_access(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.factory", factory, [], []), 'a')) - f(__gen_null_safe_member_access(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.factory", factory, [], []), 'c')) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.C.i", lambda *_ : 1.i(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.C", C, [], [])), [1], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.C.j", C.j, [safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.C", C, [], []), 123], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.C.k2", C.k2, [safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.C", C, [], []), 'abc'], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccess.C.from_csv_file", C.from_csv_file, ['abc.csv'], [safeds_runner.server.pipeline_manager.runner_filemtime('abc.csv')])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.g", g, [], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.h", h, [], [])[0]) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.h", h, [], [])[1]) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.C", C, [], []).a) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.C", C, [], []).c) + f(__gen_null_safe_member_access(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.factory", factory, [], []), 'a')) + f(__gen_null_safe_member_access(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.factory", factory, [], []), 'c')) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.C.i", lambda *_ : 1.i(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.C", C, [], [])), [1], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.C.j", C.j, [safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.C", C, [], []), 123], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.C.k2", C.k2, [safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.C", C, [], []), 'abc'], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.memberAccessWithRunnerIntegration.C.from_csv_file", C.from_csv_file, ['abc.csv'], [safeds_runner.server.pipeline_manager.runner_filemtime('abc.csv')])) diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/generated/tests/generator/memberAccessWithRunnerIntegration/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/generated/tests/generator/memberAccessWithRunnerIntegration/gen_input.py.map new file mode 100644 index 000000000..f68f74228 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/generated/tests/generator/memberAccessWithRunnerIntegration/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["test","f","g","h","result1","result2","c","a","b","factory","j","k","from_csv_file"],"mappings":"AAAA;;;;;;;;;;;;;;;;AA4BA,IAASA,IAAI;IACTC,CAAC,CAAC,2HAAAC,CAAC;IACHD,CAAC,CAAC,2HAAAE,CAAC,UAAGC,CAAO;IACbH,CAAC,CAAC,2HAAAE,CAAC,UAAGE,CAAO;IACbJ,CAAC,CAAC,2HAAAK,CAAC,UAAGC,CAAC;IACPN,CAAC,CAAC,2HAAAK,CAAC,UAAGE,CAAC;IACPP,CAAC,CAAU,6BAAC,CAAV,iIAAAQ,OAAO,YAAIF,CAAC;IACdN,CAAC,CAAU,6BAAC,CAAV,iIAAAQ,OAAO,YAAID,CAAC;IACdP,CAAC,CAAC,yIAAM,CAAC,GAAP,2HAAAK,CAAC,aAAK,CAAC;IACTL,CAAC,CAAC,6HAAAK,CAAC,CAAGI,CAAC,GAAL,2HAAAJ,CAAC,WAAK,GAAG;IACXL,CAAC,CAAC,8HAAAK,CAAC,CAAGK,EAAC,GAAL,2HAAAL,CAAC,WAAK,KAAK;IACbL,CAAC,CAAC,yIAAAK,CAAC,CAACM,aAAa,GAAC,SAAS,IAAT,uDAAA,SAAS","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/generated/tests/generator/memberAccessWithRunnerIntegration/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/generated/tests/generator/memberAccessWithRunnerIntegration/gen_input_test.py new file mode 100644 index 000000000..824f70b1f --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/generated/tests/generator/memberAccessWithRunnerIntegration/gen_input_test.py @@ -0,0 +1,4 @@ +from .gen_input import test + +if __name__ == '__main__': + test() diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/input.sdstest b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/input.sdstest new file mode 100644 index 000000000..27404f554 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/expressions/member access/input.sdstest @@ -0,0 +1,41 @@ +package tests.generator.memberAccessWithRunnerIntegration + +@Impure([ImpurityReason.Other]) fun f(param: Any?) + +@Pure fun g() -> result: Boolean + +@Pure fun h() -> (result1: Boolean, result2: Boolean) + +class C() { + attr a: Int + @PythonName("c") attr b: Int + + @Pure + @PythonCall("$param.i($this)") + fun i(param: Any?) -> result: Boolean + + @Pure + fun j(param: Any?) -> result: Boolean + + @Pure + @PythonName("k2") fun k(param: Any?) -> result: Boolean + + @Impure([ImpurityReason.FileReadFromParameterizedPath("name")]) + static fun from_csv_file(name: String) -> c: C +} + +@Pure fun factory() -> instance: C? + +pipeline test { + f(g().result); + f(h().result1); + f(h().result2); + f(C().a); + f(C().b); + f(factory()?.a); + f(factory()?.b); + f(C().i(1)); + f(C().j(123)); + f(C().k("abc")); + f(C.from_csv_file("abc.csv")); +} diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/context different package.sdsstub b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/context different package.sdsstub new file mode 100644 index 000000000..45cb07d09 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/context different package.sdsstub @@ -0,0 +1,4 @@ +package tests.generator.differentPackageWithRunnerIntegration + +@Pure fun function1InDifferentPackage() -> result: Int +@Pure fun function2InDifferentPackage() -> result: Int diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/context package with python module.sdsstub b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/context package with python module.sdsstub new file mode 100644 index 000000000..c745a790e --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/context package with python module.sdsstub @@ -0,0 +1,6 @@ +@PythonModule("special_location") + +package tests.generator.withPythonModuleWithRunnerIntegration + +@Pure fun function1InCompilationUnitWithPythonModule() -> result: Int +@Pure fun function2InCompilationUnitWithPythonModule() -> result: Int diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/context same package.sdstest b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/context same package.sdstest new file mode 100644 index 000000000..30c167d5f --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/context same package.sdstest @@ -0,0 +1,11 @@ +package tests.generator.importsWithRunnerIntegration + +@Pure fun impureFunction() -> result: Int + +segment segment1InSamePackage() -> result: Int { + yield result = impureFunction(); +} + +segment segment2InSamePackage() -> result: Int { + yield result = impureFunction(); +} diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_context_same_package.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_context_same_package.py similarity index 66% rename from packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_context_same_package.py rename to packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_context_same_package.py index 2bbf4c7d9..c02d2060c 100644 --- a/packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_context_same_package.py +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_context_same_package.py @@ -5,9 +5,9 @@ # Segments --------------------------------------------------------------------- def segment1InSamePackage(): - __gen_yield_result = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.imports.impureFunction", impureFunction, [], []) + __gen_yield_result = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.importsWithRunnerIntegration.impureFunction", impureFunction, [], []) return __gen_yield_result def segment2InSamePackage(): - __gen_yield_result = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.imports.impureFunction", impureFunction, [], []) + __gen_yield_result = safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.importsWithRunnerIntegration.impureFunction", impureFunction, [], []) return __gen_yield_result diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_context_same_package.py.map b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_context_same_package.py.map similarity index 60% rename from packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_context_same_package.py.map rename to packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_context_same_package.py.map index 5e0386e87..21bd02cef 100644 --- a/packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_context_same_package.py.map +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_context_same_package.py.map @@ -1 +1 @@ -{"version":3,"sources":["context same package.sdstest"],"names":["segment1insamepackage","result","impurefunction","segment2insamepackage"],"mappings":"AAAA;;;;;;AAIA,IAAQA,qBAAqB;IACzB,YAAMC,MAAM,GAAG,8GAAAC,cAAc;IADD,OAAG;;AAInC,IAAQC,qBAAqB;IACzB,YAAMF,MAAM,GAAG,8GAAAC,cAAc;IADD,OAAG","file":"gen_context_same_package.py"} \ No newline at end of file +{"version":3,"sources":["context same package.sdstest"],"names":["segment1insamepackage","result","impurefunction","segment2insamepackage"],"mappings":"AAAA;;;;;;AAIA,IAAQA,qBAAqB;IACzB,YAAMC,MAAM,GAAG,mIAAAC,cAAc;IADD,OAAG;;AAInC,IAAQC,qBAAqB;IACzB,YAAMF,MAAM,GAAG,mIAAAC,cAAc;IADD,OAAG","file":"gen_context_same_package.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_input.py similarity index 65% rename from packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_input.py index a9ba896ef..38ba90040 100644 --- a/packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_input.py +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_input.py @@ -2,8 +2,8 @@ import safeds_runner.server.pipeline_manager from special_location import function1InCompilationUnitWithPythonModule, function2InCompilationUnitWithPythonModule as h -from tests.generator.differentPackage import function1InDifferentPackage, function2InDifferentPackage as g -from tests.generator.imports.gen_context_same_package import segment1InSamePackage, segment2InSamePackage +from tests.generator.differentPackageWithRunnerIntegration import function1InDifferentPackage, function2InDifferentPackage as g +from tests.generator.importsWithRunnerIntegration.gen_context_same_package import segment1InSamePackage, segment2InSamePackage # Pipelines -------------------------------------------------------------------- @@ -12,10 +12,10 @@ def test(): f(segment1InSamePackage()) f(segment2InSamePackage()) f(segment2InSamePackage()) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackage.function1InDifferentPackage", function1InDifferentPackage, [], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackage.function1InDifferentPackage", function1InDifferentPackage, [], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackage.function2InDifferentPackage", g, [], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackage.function2InDifferentPackage", g, [], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWithRunnerIntegration.function1InDifferentPackage", function1InDifferentPackage, [], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWithRunnerIntegration.function1InDifferentPackage", function1InDifferentPackage, [], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWithRunnerIntegration.function2InDifferentPackage", g, [], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWithRunnerIntegration.function2InDifferentPackage", g, [], [])) f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("special_location.function1InCompilationUnitWithPythonModule", function1InCompilationUnitWithPythonModule, [], [])) f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("special_location.function1InCompilationUnitWithPythonModule", function1InCompilationUnitWithPythonModule, [], [])) f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("special_location.function2InCompilationUnitWithPythonModule", h, [], [])) diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_input.py.map similarity index 78% rename from packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_input.py.map index c94a154c9..b1c181d5d 100644 --- a/packages/safe-ds-lang/tests/resources/generation/imports/general/output/tests/generator/imports/gen_input.py.map +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_input.py.map @@ -1 +1 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","segment1insamepackage","segment2insamepackage","function1indifferentpackage","g","function1incompilationunitwithpythonmodule","h"],"mappings":"AAAA;;;;;;;;;AASA,IAASA,IAAI;IACTC,CAAC,CAACC,qBAAqB;IACvBD,CAAC,CAACC,qBAAqB;IACvBD,CAAC,CAACE,qBAAqB;IACvBF,CAAC,CAACE,qBAAqB;IAEvBF,CAAC,CAAC,oIAAAG,2BAA2B;IAC7BH,CAAC,CAAC,oIAAAG,2BAA2B;IAC7BH,CAAC,CAAC,oIAAAI,CAAC;IACHJ,CAAC,CAAC,oIAAAI,CAAC;IAEHJ,CAAC,CAAC,mIAAAK,0CAA0C;IAC5CL,CAAC,CAAC,mIAAAK,0CAA0C;IAC5CL,CAAC,CAAC,mIAAAM,CAAC;IACHN,CAAC,CAAC,mIAAAM,CAAC","file":"gen_input.py"} \ No newline at end of file +{"version":3,"sources":["input.sdstest"],"names":["test","f","segment1insamepackage","segment2insamepackage","function1indifferentpackage","g","function1incompilationunitwithpythonmodule","h"],"mappings":"AAAA;;;;;;;;;AASA,IAASA,IAAI;IACTC,CAAC,CAACC,qBAAqB;IACvBD,CAAC,CAACC,qBAAqB;IACvBD,CAAC,CAACE,qBAAqB;IACvBF,CAAC,CAACE,qBAAqB;IAEvBF,CAAC,CAAC,yJAAAG,2BAA2B;IAC7BH,CAAC,CAAC,yJAAAG,2BAA2B;IAC7BH,CAAC,CAAC,yJAAAI,CAAC;IACHJ,CAAC,CAAC,yJAAAI,CAAC;IAEHJ,CAAC,CAAC,mIAAAK,0CAA0C;IAC5CL,CAAC,CAAC,mIAAAK,0CAA0C;IAC5CL,CAAC,CAAC,mIAAAM,CAAC;IACHN,CAAC,CAAC,mIAAAM,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_input_test.py new file mode 100644 index 000000000..824f70b1f --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/generated/tests/generator/importsWithRunnerIntegration/gen_input_test.py @@ -0,0 +1,4 @@ +from .gen_input import test + +if __name__ == '__main__': + test() diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/input.sdstest b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/input.sdstest new file mode 100644 index 000000000..abe663aa6 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/general/input.sdstest @@ -0,0 +1,25 @@ +package tests.generator.importsWithRunnerIntegration + +from tests.generator.differentPackageWithRunnerIntegration import function1InDifferentPackage +from tests.generator.differentPackageWithRunnerIntegration import function2InDifferentPackage as g +from tests.generator.withPythonModuleWithRunnerIntegration import function1InCompilationUnitWithPythonModule +from tests.generator.withPythonModuleWithRunnerIntegration import function2InCompilationUnitWithPythonModule as h + +@Impure([ImpurityReason.Other]) fun f(param: Any?) + +pipeline test { + f(segment1InSamePackage()); + f(segment1InSamePackage()); + f(segment2InSamePackage()); + f(segment2InSamePackage()); + + f(function1InDifferentPackage()); + f(function1InDifferentPackage()); + f(g()); + f(g()); + + f(function1InCompilationUnitWithPythonModule()); + f(function1InCompilationUnitWithPythonModule()); + f(h()); + f(h()); +} diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/context different package.sdsstub b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/context different package.sdsstub new file mode 100644 index 000000000..0a1dee633 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/context different package.sdsstub @@ -0,0 +1,4 @@ +package tests.generator.differentPackageWildcardWithRunnerIntegration + +@Pure fun function1InDifferentPackage() -> result: Int +@Pure fun function2InDifferentPackage() -> result: Int diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/context package with python module.sdsstub b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/context package with python module.sdsstub new file mode 100644 index 000000000..6cbdd53e7 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/context package with python module.sdsstub @@ -0,0 +1,6 @@ +@PythonModule("special_location") + +package tests.generator.withPythonModuleWildcardWithRunnerIntegration + +@Pure fun function1InCompilationUnitWithPythonModule() -> result: Int +@Pure fun function2InCompilationUnitWithPythonModule() -> result: Int diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/output/tests/generator/wildcard/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/generated/tests/generator/wildcardWithRunnerIntegration/gen_input.py similarity index 66% rename from packages/safe-ds-lang/tests/resources/generation/imports/wildcard/output/tests/generator/wildcard/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/generated/tests/generator/wildcardWithRunnerIntegration/gen_input.py index a26fbd25b..1ae1dd525 100644 --- a/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/output/tests/generator/wildcard/gen_input.py +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/generated/tests/generator/wildcardWithRunnerIntegration/gen_input.py @@ -2,15 +2,15 @@ import safeds_runner.server.pipeline_manager from special_location import function1InCompilationUnitWithPythonModule, function2InCompilationUnitWithPythonModule -from tests.generator.differentPackageWildcard import function1InDifferentPackage, function2InDifferentPackage +from tests.generator.differentPackageWildcardWithRunnerIntegration import function1InDifferentPackage, function2InDifferentPackage # Pipelines -------------------------------------------------------------------- def test(): - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWildcard.function1InDifferentPackage", function1InDifferentPackage, [], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWildcard.function1InDifferentPackage", function1InDifferentPackage, [], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWildcard.function2InDifferentPackage", function2InDifferentPackage, [], [])) - f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWildcard.function2InDifferentPackage", function2InDifferentPackage, [], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWildcardWithRunnerIntegration.function1InDifferentPackage", function1InDifferentPackage, [], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWildcardWithRunnerIntegration.function1InDifferentPackage", function1InDifferentPackage, [], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWildcardWithRunnerIntegration.function2InDifferentPackage", function2InDifferentPackage, [], [])) + f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("tests.generator.differentPackageWildcardWithRunnerIntegration.function2InDifferentPackage", function2InDifferentPackage, [], [])) f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("special_location.function1InCompilationUnitWithPythonModule", function1InCompilationUnitWithPythonModule, [], [])) f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("special_location.function1InCompilationUnitWithPythonModule", function1InCompilationUnitWithPythonModule, [], [])) f(safeds_runner.server.pipeline_manager.runner_memoized_function_call("special_location.function2InCompilationUnitWithPythonModule", function2InCompilationUnitWithPythonModule, [], [])) diff --git a/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/output/tests/generator/wildcard/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/generated/tests/generator/wildcardWithRunnerIntegration/gen_input.py.map similarity index 75% rename from packages/safe-ds-lang/tests/resources/generation/imports/wildcard/output/tests/generator/wildcard/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/generated/tests/generator/wildcardWithRunnerIntegration/gen_input.py.map index b88b54e29..468b461aa 100644 --- a/packages/safe-ds-lang/tests/resources/generation/imports/wildcard/output/tests/generator/wildcard/gen_input.py.map +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/generated/tests/generator/wildcardWithRunnerIntegration/gen_input.py.map @@ -1 +1 @@ -{"version":3,"sources":["input.sdstest"],"names":["test","f","function1indifferentpackage","function2indifferentpackage","function1incompilationunitwithpythonmodule","function2incompilationunitwithpythonmodule"],"mappings":"AAAA;;;;;;;;AAOA,IAASA,IAAI;IACTC,CAAC,CAAC,4IAAAC,2BAA2B;IAC7BD,CAAC,CAAC,4IAAAC,2BAA2B;IAC7BD,CAAC,CAAC,4IAAAE,2BAA2B;IAC7BF,CAAC,CAAC,4IAAAE,2BAA2B;IAE7BF,CAAC,CAAC,mIAAAG,0CAA0C;IAC5CH,CAAC,CAAC,mIAAAG,0CAA0C;IAC5CH,CAAC,CAAC,mIAAAI,0CAA0C;IAC5CJ,CAAC,CAAC,mIAAAI,0CAA0C","file":"gen_input.py"} \ No newline at end of file +{"version":3,"sources":["input.sdstest"],"names":["test","f","function1indifferentpackage","function2indifferentpackage","function1incompilationunitwithpythonmodule","function2incompilationunitwithpythonmodule"],"mappings":"AAAA;;;;;;;;AAOA,IAASA,IAAI;IACTC,CAAC,CAAC,iKAAAC,2BAA2B;IAC7BD,CAAC,CAAC,iKAAAC,2BAA2B;IAC7BD,CAAC,CAAC,iKAAAE,2BAA2B;IAC7BF,CAAC,CAAC,iKAAAE,2BAA2B;IAE7BF,CAAC,CAAC,mIAAAG,0CAA0C;IAC5CH,CAAC,CAAC,mIAAAG,0CAA0C;IAC5CH,CAAC,CAAC,mIAAAI,0CAA0C;IAC5CJ,CAAC,CAAC,mIAAAI,0CAA0C","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/generated/tests/generator/wildcardWithRunnerIntegration/gen_input_test.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/generated/tests/generator/wildcardWithRunnerIntegration/gen_input_test.py new file mode 100644 index 000000000..824f70b1f --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/generated/tests/generator/wildcardWithRunnerIntegration/gen_input_test.py @@ -0,0 +1,4 @@ +from .gen_input import test + +if __name__ == '__main__': + test() diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/input.sdstest b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/input.sdstest new file mode 100644 index 000000000..e20e4043b --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/imports/wildcard/input.sdstest @@ -0,0 +1,18 @@ +package tests.generator.wildcardWithRunnerIntegration + +from tests.generator.differentPackageWildcardWithRunnerIntegration import * +from tests.generator.withPythonModuleWildcardWithRunnerIntegration import * + +@Impure([ImpurityReason.Other]) fun f(param: Any?) + +pipeline test { + f(function1InDifferentPackage()); + f(function1InDifferentPackage()); + f(function2InDifferentPackage()); + f(function2InDifferentPackage()); + + f(function1InCompilationUnitWithPythonModule()); + f(function1InCompilationUnitWithPythonModule()); + f(function2InCompilationUnitWithPythonModule()); + f(function2InCompilationUnitWithPythonModule()); +} diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/assignment/output/tests/generator/assignment/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/statements/assignment/generated/tests/generator/assignmentWithRunnerIntegration/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/statements/assignment/output/tests/generator/assignment/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/runner integration/statements/assignment/generated/tests/generator/assignmentWithRunnerIntegration/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/assignment/output/tests/generator/assignment/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/runner integration/statements/assignment/generated/tests/generator/assignmentWithRunnerIntegration/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/statements/assignment/output/tests/generator/assignment/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/runner integration/statements/assignment/generated/tests/generator/assignmentWithRunnerIntegration/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/assignment/output/tests/generator/assignment/gen_input_testPipeline.py b/packages/safe-ds-lang/tests/resources/generation/runner integration/statements/assignment/generated/tests/generator/assignmentWithRunnerIntegration/gen_input_testPipeline.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/statements/assignment/output/tests/generator/assignment/gen_input_testPipeline.py rename to packages/safe-ds-lang/tests/resources/generation/runner integration/statements/assignment/generated/tests/generator/assignmentWithRunnerIntegration/gen_input_testPipeline.py diff --git a/packages/safe-ds-lang/tests/resources/generation/runner integration/statements/assignment/input.sdstest b/packages/safe-ds-lang/tests/resources/generation/runner integration/statements/assignment/input.sdstest new file mode 100644 index 000000000..7f95cfc6c --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/runner integration/statements/assignment/input.sdstest @@ -0,0 +1,34 @@ +package tests.generator.assignmentWithRunnerIntegration + +@Impure([ImpurityReason.Other]) fun f1(param: Any?) +@Impure([ImpurityReason.PotentiallyImpureParameterCall("param")]) fun f2(param: () -> r: Int?) + +@Impure([ImpurityReason.Other]) fun g() -> (a: Int, b: Int, c: Int) + +pipeline testPipeline { + _, _ ,_ = g(); + val a, _, _ = g(); + val x = g(); + f1(a); + f1(x); + val l, val m, val n = g(); + f1(l); + f1(m); + f1(n); + + f2(() { + _, _ ,_ = g(); + val a, _, yield c = g(); + val x = g(); + f1(a); + f1(x); + }); +} + +segment testSegment() -> c: Int { + _, _ ,_ = g(); + val a, _, yield c = g(); + val x = g(); + f1(a); + f1(x); +} diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/assignment/generated/tests/generator/assignment/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/statements/assignment/generated/tests/generator/assignment/gen_input.py new file mode 100644 index 000000000..fcb3062b1 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/statements/assignment/generated/tests/generator/assignment/gen_input.py @@ -0,0 +1,30 @@ +# Segments --------------------------------------------------------------------- + +def testSegment(): + g() + a, _, __gen_yield_c = g() + x, _, _ = g() + f1(a) + f1(x) + return __gen_yield_c + +# Pipelines -------------------------------------------------------------------- + +def testPipeline(): + g() + a, _, _ = g() + x, _, _ = g() + f1(a) + f1(x) + l, m, n = g() + f1(l) + f1(m) + f1(n) + def __gen_block_lambda_0(): + g() + a, _, __gen_block_lambda_result_c = g() + x, _, _ = g() + f1(a) + f1(x) + return __gen_block_lambda_result_c + f2(__gen_block_lambda_0) diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/assignment/generated/tests/generator/assignment/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/statements/assignment/generated/tests/generator/assignment/gen_input.py.map new file mode 100644 index 000000000..cdcaac21d --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/statements/assignment/generated/tests/generator/assignment/gen_input.py.map @@ -0,0 +1 @@ +{"version":3,"sources":["input.sdstest"],"names":["testsegment","g","_","c","f1","a","x","testpipeline","l","m","n","f2"],"mappings":"AAAA;;AA2BA,IAAQA,WAAW;IACLC,CAAC;IACX,GAAOC,CAAC,EAAE,YAAMC,CAAC,GAAGF,CAAC;IACrB,UAAQA,CAAC;IACTG,EAAE,CAACC,CAAC;IACJD,EAAE,CAACE,CAAC;IALc,OAAG;;;;AApBzB,IAASC,YAAY;IACPN,CAAC;IACX,GAAOC,CAAC,EAAEA,CAAC,GAAGD,CAAC;IACf,UAAQA,CAAC;IACTG,EAAE,CAACC,CAAC;IACJD,EAAE,CAACE,CAAC;IACJ,GAAO,GAAO,IAAQL,CAAC;IACvBG,EAAE,CAACI,CAAC;IACJJ,EAAE,CAACK,CAAC;IACJL,EAAE,CAACM,CAAC;IAED;QACWT,CAAC;QACX,GAAOC,CAAC,EAAE,0BAAMC,CAAC,GAAGF,CAAC;QACrB,UAAQA,CAAC;QACTG,EAAE,CAACC,CAAC;QACJD,EAAE,CAACE,CAAC;QALL,OAEW,0BAAMH,CAAC;IAFrBQ,EAAE,CAAC","file":"gen_input.py"} \ No newline at end of file diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/expression statement/output/tests/generator/expressionStatement/gen_input_testPipeline.py b/packages/safe-ds-lang/tests/resources/generation/statements/assignment/generated/tests/generator/assignment/gen_input_testPipeline.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/statements/expression statement/output/tests/generator/expressionStatement/gen_input_testPipeline.py rename to packages/safe-ds-lang/tests/resources/generation/statements/assignment/generated/tests/generator/assignment/gen_input_testPipeline.py diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/expression statement/output/tests/generator/expressionStatement/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/statements/expression statement/generated/tests/generator/expressionStatement/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/statements/expression statement/output/tests/generator/expressionStatement/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/statements/expression statement/generated/tests/generator/expressionStatement/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/expression statement/output/tests/generator/expressionStatement/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/statements/expression statement/generated/tests/generator/expressionStatement/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/statements/expression statement/output/tests/generator/expressionStatement/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/statements/expression statement/generated/tests/generator/expressionStatement/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/output/tests/generator/statementWithoutEffect/gen_input_testPipeline.py b/packages/safe-ds-lang/tests/resources/generation/statements/expression statement/generated/tests/generator/expressionStatement/gen_input_testPipeline.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/output/tests/generator/statementWithoutEffect/gen_input_testPipeline.py rename to packages/safe-ds-lang/tests/resources/generation/statements/expression statement/generated/tests/generator/expressionStatement/gen_input_testPipeline.py diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/output/tests/generator/statementWithoutEffect/gen_input.py b/packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/generated/tests/generator/statementWithoutEffect/gen_input.py similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/output/tests/generator/statementWithoutEffect/gen_input.py rename to packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/generated/tests/generator/statementWithoutEffect/gen_input.py diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/output/tests/generator/statementWithoutEffect/gen_input.py.map b/packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/generated/tests/generator/statementWithoutEffect/gen_input.py.map similarity index 100% rename from packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/output/tests/generator/statementWithoutEffect/gen_input.py.map rename to packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/generated/tests/generator/statementWithoutEffect/gen_input.py.map diff --git a/packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/generated/tests/generator/statementWithoutEffect/gen_input_testPipeline.py b/packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/generated/tests/generator/statementWithoutEffect/gen_input_testPipeline.py new file mode 100644 index 000000000..09ca75905 --- /dev/null +++ b/packages/safe-ds-lang/tests/resources/generation/statements/statement without effect/generated/tests/generator/statementWithoutEffect/gen_input_testPipeline.py @@ -0,0 +1,4 @@ +from .gen_input import testPipeline + +if __name__ == '__main__': + testPipeline()