pareto-test 0.13.2 → 0.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/implementation/temp/higher_order_functions/commands/test.d.ts +23 -0
- package/dist/implementation/temp/higher_order_functions/commands/test.js +109 -0
- package/dist/implementation/temp/{helpers.d.ts → higher_order_functions/generic_testset/testset.d.ts} +2 -2
- package/dist/implementation/temp/{helpers.js → higher_order_functions/generic_testset/testset.js} +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as _et from 'exupery-core-types';
|
|
2
|
+
import * as d_main from "exupery-resources/dist/interface/temp_main";
|
|
3
|
+
import * as d_log_error from "exupery-resources/dist/interface/generated/pareto/schemas/log_error/data_types/target";
|
|
4
|
+
import * as d_log from "exupery-resources/dist/interface/generated/pareto/schemas/log/data_types/target";
|
|
5
|
+
import * as d_write_to_stdout from "exupery-resources/dist/interface/generated/pareto/schemas/write_to_stdout/data_types/source";
|
|
6
|
+
import * as d_read_directory from "exupery-resources/dist/interface/generated/pareto/schemas/read_directory/data_types/source";
|
|
7
|
+
import * as d_read_file from "exupery-resources/dist/interface/generated/pareto/schemas/read_file/data_types/source";
|
|
8
|
+
import * as d_directory_content from "exupery-resources/dist/interface/algorithms/queries/directory_content";
|
|
9
|
+
import * as d_test_result from "../../../../interface/data/test_result";
|
|
10
|
+
import * as d_generic_testset from "../../../../interface/data/generic_testset";
|
|
11
|
+
export type Query_Resources = {
|
|
12
|
+
'read directory': _et.Query<d_read_directory.Result, d_read_directory.Error, d_read_directory.Parameters>;
|
|
13
|
+
'read file': _et.Query<d_read_file.Result, d_read_file.Error, d_read_file.Parameters>;
|
|
14
|
+
'read directory content': _et.Query<d_directory_content.Result, d_directory_content.Error, d_directory_content.Parameters>;
|
|
15
|
+
};
|
|
16
|
+
export type Command_Resources = {
|
|
17
|
+
'write to stdout': _et.Command<null, d_write_to_stdout.Parameters>;
|
|
18
|
+
'log error': _et.Command<null, d_log_error.Parameters>;
|
|
19
|
+
'log': _et.Command<null, d_log.Parameters>;
|
|
20
|
+
};
|
|
21
|
+
export type Procedure = _et.Command_Procedure<d_main.Error, d_main.Parameters, Command_Resources, Query_Resources>;
|
|
22
|
+
export type My_Error = ['command line', null] | ['writing to stdout', null] | ['read directory content', d_directory_content.Error] | ['failed tests', d_test_result.Test_Group_Result];
|
|
23
|
+
export declare const $$: (x: _et.Transformer<d_test_result.Test_Group_Result, d_generic_testset.Group>) => Procedure;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.$$ = void 0;
|
|
27
|
+
const _ea = __importStar(require("exupery-core-alg"));
|
|
28
|
+
const _easync = __importStar(require("exupery-core-async"));
|
|
29
|
+
const r_test_command_refiner = __importStar(require("../../../refiners/test_command/refiners"));
|
|
30
|
+
const t_directory_content_to_generic_testset = __importStar(require("../../../transformers/directory_content/generic_testset"));
|
|
31
|
+
// import * as t_generic_testset_to_test_result from "../transformers/generic_testset/test_result"
|
|
32
|
+
const t_fountain_pen_to_lines = __importStar(require("pareto-fountain-pen/dist/implementation/algorithms/transformations/block/lines"));
|
|
33
|
+
const t_directory_content_to_fountain_pen = __importStar(require("../../../transformers/directory_content/fountain_pen"));
|
|
34
|
+
const t_test_result_to_fountain_pen = __importStar(require("../../../transformers/test_result_2/fountain_pen"));
|
|
35
|
+
const t_test_result_to_summary = __importStar(require("../../../transformers/test_result_2/summary"));
|
|
36
|
+
const t_path_to_path = __importStar(require("exupery-resources/dist/implementation/transformers/path/path"));
|
|
37
|
+
const flatten_1 = require("pareto-standard-operations/dist/implementation/algorithms/operations/pure/list/flatten");
|
|
38
|
+
const RED = "\x1b[31m";
|
|
39
|
+
const GREEN = "\x1b[32m";
|
|
40
|
+
const ENDCOLOR = "\x1b[0m";
|
|
41
|
+
const $$ = (x) => _easync.create_command_procedure(($p, $cr, $qr) => [
|
|
42
|
+
_easync.p.create_error_handling_context([
|
|
43
|
+
_easync.p.refine_with_error_transformation(r_test_command_refiner.Parameters($p.arguments), ($) => ['command line', null], ($v) => [
|
|
44
|
+
//write the path to stdout
|
|
45
|
+
$cr['write to stdout'].execute(`Testing with data from: ${$v['path to test data']}\n`, ($) => ['writing to stdout', null]),
|
|
46
|
+
//read input dir
|
|
47
|
+
_easync.p.query_stacked($qr['read directory content']({
|
|
48
|
+
'path': t_path_to_path.create_node_path($v['path to test data'], `input`),
|
|
49
|
+
}, ($) => ['read directory content', $]), $v, ($v, $parent) => {
|
|
50
|
+
return [
|
|
51
|
+
//read expected dir
|
|
52
|
+
_easync.p.query_stacked($qr['read directory content']({
|
|
53
|
+
'path': t_path_to_path.create_node_path($parent['path to test data'], `expected`),
|
|
54
|
+
}, ($) => ['read directory content', $]), $v, ($v, $parent) => {
|
|
55
|
+
const test_results = x(t_directory_content_to_generic_testset.Group($parent, {
|
|
56
|
+
'expected': $v
|
|
57
|
+
}));
|
|
58
|
+
const failed_tests = t_test_result_to_summary.Test_Group_Result(test_results, {
|
|
59
|
+
'include passed tests': false,
|
|
60
|
+
'include structural problems': true,
|
|
61
|
+
});
|
|
62
|
+
return [
|
|
63
|
+
_easync.p.if_(failed_tests === 0, [
|
|
64
|
+
$cr['log'].execute({
|
|
65
|
+
'lines': (0, flatten_1.$$)(_ea.list_literal([
|
|
66
|
+
t_fountain_pen_to_lines.Group_Part(t_test_result_to_fountain_pen.Test_Group_Result(test_results), {
|
|
67
|
+
'indentation': ` `
|
|
68
|
+
}),
|
|
69
|
+
_ea.list_literal([``]),
|
|
70
|
+
_ea.list_literal([`${GREEN}All tests passed!${ENDCOLOR}`]),
|
|
71
|
+
]))
|
|
72
|
+
}, ($) => ['writing to stdout', null])
|
|
73
|
+
], [
|
|
74
|
+
_easync.p.fail(['failed tests', test_results])
|
|
75
|
+
]),
|
|
76
|
+
];
|
|
77
|
+
})
|
|
78
|
+
];
|
|
79
|
+
})
|
|
80
|
+
])
|
|
81
|
+
], ($) => $cr['log error'].execute({
|
|
82
|
+
'lines': _ea.cc($, ($) => {
|
|
83
|
+
switch ($[0]) {
|
|
84
|
+
case 'command line': return _ea.ss($, ($) => _ea.list_literal([`command line error`]));
|
|
85
|
+
case 'writing to stdout': return _ea.ss($, ($) => _ea.list_literal([`stdout error`]));
|
|
86
|
+
case 'read directory content': return _ea.ss($, ($) => (0, flatten_1.$$)(_ea.list_literal([
|
|
87
|
+
_ea.list_literal([`read dir error`]),
|
|
88
|
+
t_fountain_pen_to_lines.Block_Part(t_directory_content_to_fountain_pen.Error($), { 'indentation': ` ` })
|
|
89
|
+
])));
|
|
90
|
+
case 'failed tests': return _ea.ss($, ($) => (0, flatten_1.$$)(_ea.list_literal([
|
|
91
|
+
t_fountain_pen_to_lines.Group_Part(t_test_result_to_fountain_pen.Test_Group_Result($), {
|
|
92
|
+
'indentation': ` `
|
|
93
|
+
}),
|
|
94
|
+
_ea.list_literal([`${RED}${t_test_result_to_summary.Test_Group_Result($, {
|
|
95
|
+
'include passed tests': false,
|
|
96
|
+
'include structural problems': true,
|
|
97
|
+
})} test failed${ENDCOLOR}`]),
|
|
98
|
+
])));
|
|
99
|
+
default: return _ea.au($[0]);
|
|
100
|
+
}
|
|
101
|
+
})
|
|
102
|
+
}, ($) => ({
|
|
103
|
+
'exit code': 2
|
|
104
|
+
})), {
|
|
105
|
+
'exit code': 1
|
|
106
|
+
}),
|
|
107
|
+
]);
|
|
108
|
+
exports.$$ = $$;
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi90ZW1wL2hpZ2hlcl9vcmRlcl9mdW5jdGlvbnMvY29tbWFuZHMvdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF1QztBQUN2Qyw0REFBNkM7QUFlN0MsZ0dBQWlGO0FBRWpGLGdJQUFpSDtBQUNqSCxrR0FBa0c7QUFDbEcsd0lBQXlIO0FBQ3pILDBIQUEyRztBQUUzRyxnSEFBaUc7QUFDakcsc0dBQXVGO0FBRXZGLDZHQUE4RjtBQUU5RixvSEFBd0g7QUFFeEgsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFBO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQTtBQUN4QixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUE7QUF3Qm5CLE1BQU0sRUFBRSxHQUFnRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUNsSixDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUVkLE9BQU8sQ0FBQyxDQUFDLENBQUMsNkJBQTZCLENBQ25DO1FBRUksT0FBTyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FDdEMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFDL0MsQ0FBQyxDQUFDLEVBQVksRUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxFQUN2QyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFFSiwwQkFBMEI7WUFDMUIsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUMxQiwyQkFBMkIsRUFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFDdEQsQ0FBQyxDQUFDLEVBQVksRUFBRSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQy9DO1lB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as d_in from "
|
|
2
|
-
import * as d_out from "
|
|
1
|
+
import * as d_in from "../../../../interface/data/generic_testset";
|
|
2
|
+
import * as d_out from "../../../../interface/data/test_result";
|
|
3
3
|
export type Test_Group_Shorthand = {
|
|
4
4
|
[key: string]: Test_Node_Shorthand;
|
|
5
5
|
};
|
package/dist/implementation/temp/{helpers.js → higher_order_functions/generic_testset/testset.js}
RENAMED
|
@@ -89,4 +89,4 @@ const test_group_shorthand = ($, dir_group) => {
|
|
|
89
89
|
});
|
|
90
90
|
};
|
|
91
91
|
exports.test_group_shorthand = test_group_shorthand;
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdHNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi90ZW1wL2hpZ2hlcl9vcmRlcl9mdW5jdGlvbnMvZ2VuZXJpY190ZXN0c2V0L3Rlc3RzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxzREFBdUM7QUFjaEMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQXVCLEVBQUUsU0FBcUIsRUFBMkIsRUFBRTtJQUM1RyxPQUFPLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDNUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDYixRQUFRLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7b0JBRXJCLDJGQUEyRjtvQkFDM0YsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLENBQUE7b0JBRXJDLE9BQU8sU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQ3ZDLENBQUMsQ0FBQyxFQUF5QyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQXlDLEVBQUU7d0JBQ2pHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7NEJBQ1gsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dDQUNsRCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29DQUNYLEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENB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
|