@nestia/e2e 0.1.4 → 0.1.6

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.
@@ -12,4 +12,5 @@ export declare namespace ArrayUtil {
12
12
  function repeat<T>(count: number, closure: (index: number) => T): T[];
13
13
  function last<T>(array: T[]): T;
14
14
  function flat<T>(matrix: T[][]): T[];
15
+ function subsets<T>(array: T[]): T[][];
15
16
  }
package/lib/ArrayUtil.js CHANGED
@@ -213,5 +213,22 @@ var ArrayUtil;
213
213
  return (_a = []).concat.apply(_a, __spreadArray([], __read(matrix), false));
214
214
  }
215
215
  ArrayUtil.flat = flat;
216
+ function subsets(array) {
217
+ var check = new Array(array.length).fill(false);
218
+ var output = [];
219
+ var dfs = function (depth) {
220
+ if (depth === check.length)
221
+ output.push(array.filter(function (_v, idx) { return check[idx]; }));
222
+ else {
223
+ check[depth] = true;
224
+ dfs(depth + 1);
225
+ check[depth] = false;
226
+ dfs(depth + 1);
227
+ }
228
+ };
229
+ dfs(0);
230
+ return output;
231
+ }
232
+ ArrayUtil.subsets = subsets;
216
233
  })(ArrayUtil = exports.ArrayUtil || (exports.ArrayUtil = {}));
217
234
  //# sourceMappingURL=ArrayUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayUtil.js","sourceRoot":"","sources":["../src/ArrayUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArrayUtil.js","sourceRoot":"","sources":["../src/ArrayUtil.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,13 @@ export declare namespace TestValidator {
16
16
  * @param title Title of exception because of no error exists
17
17
  */
18
18
  const error: (title: string) => (task: () => any | Promise<any>) => Promise<void>;
19
+ /**
20
+ * Test whether two values are equal.
21
+ *
22
+ * @param title Title of error message when different
23
+ * @returns Currying function
24
+ */
25
+ const equals: (title: string) => <T>(x: T) => (y: T) => void;
19
26
  /**
20
27
  * Validate index API.
21
28
  *
@@ -49,6 +49,7 @@ var __values = (this && this.__values) || function(o) {
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
50
  exports.TestValidator = void 0;
51
51
  var ranges_1 = require("tstl/ranges");
52
+ var json_equal_to_1 = require("./internal/json_equal_to");
52
53
  var RandomGenerator_1 = require("./RandomGenerator");
53
54
  /**
54
55
  * Test validator.
@@ -88,6 +89,17 @@ var TestValidator;
88
89
  });
89
90
  }); };
90
91
  };
92
+ /**
93
+ * Test whether two values are equal.
94
+ *
95
+ * @param title Title of error message when different
96
+ * @returns Currying function
97
+ */
98
+ TestValidator.equals = function (title) { return function (x) { return function (y) {
99
+ var diff = (0, json_equal_to_1.json_equal_to)(x, y);
100
+ if (diff.length)
101
+ throw new Error("Bug on ".concat(title, ": found different values - [").concat(diff.join(", "), "]"));
102
+ }; }; };
91
103
  /**
92
104
  * Validate index API.
93
105
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TestValidator.js","sourceRoot":"","sources":["../src/TestValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestValidator.js","sourceRoot":"","sources":["../src/TestValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function json_equal_to<T>(x: T, y: T): string[];
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.json_equal_to = void 0;
4
+ function array_equal_to(items, name, x, y) {
5
+ if (x.length !== y.length)
6
+ items.push("".concat(name, ".length"));
7
+ x.forEach(function (xItem, i) { return any_equal_to(items, "".concat(name, "[").concat(i, "]"), xItem, y[i]); });
8
+ }
9
+ function object_equal_to(items, name, x, y) {
10
+ for (var key in x) {
11
+ if (key.substr(-2) === "id" || key.substr(-3) === "_at")
12
+ continue;
13
+ any_equal_to(items, "".concat(name, ".").concat(key), x[key], y[key]);
14
+ }
15
+ return true;
16
+ }
17
+ function any_equal_to(items, name, x, y) {
18
+ if (typeof x !== typeof y)
19
+ items.push(name);
20
+ else if (x instanceof Array)
21
+ if (!(y instanceof Array))
22
+ items.push(name);
23
+ else
24
+ array_equal_to(items, name, x, y);
25
+ else if (x instanceof Object)
26
+ object_equal_to(items, name, x, y);
27
+ else if (x !== y)
28
+ items.push(name);
29
+ }
30
+ function json_equal_to(x, y) {
31
+ var ret = [];
32
+ any_equal_to(ret, "", x, y);
33
+ return ret;
34
+ }
35
+ exports.json_equal_to = json_equal_to;
36
+ //# sourceMappingURL=json_equal_to.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json_equal_to.js","sourceRoot":"","sources":["../../src/internal/json_equal_to.ts"],"names":[],"mappings":";;;AAAA,SAAS,cAAc,CACnB,KAAe,EACf,IAAY,EACZ,CAAQ,EACR,CAAQ;IAER,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,UAAG,IAAI,YAAS,CAAC,CAAC;IACxD,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,CAAC,IAAK,OAAA,YAAY,CAAC,KAAK,EAAE,UAAG,IAAI,cAAI,CAAC,MAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAjD,CAAiD,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,eAAe,CACpB,KAAe,EACf,IAAY,EACZ,CAAM,EACN,CAAM;IAEN,KAAK,IAAM,GAAG,IAAI,CAAC,EAAE;QACjB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK;YAAE,SAAS;QAClE,YAAY,CAAC,KAAK,EAAE,UAAG,IAAI,cAAI,GAAG,CAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,IAAY,EAAE,CAAM,EAAE,CAAM;IAC/D,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvC,IAAI,CAAC,YAAY,KAAK;QACvB,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACvC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACtC,IAAI,CAAC,YAAY,MAAM;QAAE,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5D,IAAI,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,aAAa,CAAI,CAAI,EAAE,CAAI;IACvC,IAAM,GAAG,GAAa,EAAE,CAAC;IACzB,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,GAAG,CAAC;AACf,CAAC;AAJD,sCAIC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/e2e",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "E2E test utilify functions",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
package/src/ArrayUtil.ts CHANGED
@@ -84,4 +84,23 @@ export namespace ArrayUtil {
84
84
  export function flat<T>(matrix: T[][]): T[] {
85
85
  return ([] as T[]).concat(...matrix);
86
86
  }
87
+
88
+ export function subsets<T>(array: T[]): T[][] {
89
+ const check: boolean[] = new Array(array.length).fill(false);
90
+ const output: T[][] = [];
91
+
92
+ const dfs = (depth: number) => {
93
+ if (depth === check.length)
94
+ output.push(array.filter((_v, idx) => check[idx]));
95
+ else {
96
+ check[depth] = true;
97
+ dfs(depth + 1);
98
+
99
+ check[depth] = false;
100
+ dfs(depth + 1);
101
+ }
102
+ };
103
+ dfs(0);
104
+ return output;
105
+ }
87
106
  }
@@ -1,4 +1,5 @@
1
1
  import { is_sorted } from "tstl/ranges";
2
+ import { json_equal_to } from "./internal/json_equal_to";
2
3
 
3
4
  import { RandomGenerator } from "./RandomGenerator";
4
5
 
@@ -30,6 +31,18 @@ export namespace TestValidator {
30
31
  throw new Error(`Bug on ${title}: exception must be thrown.`);
31
32
  };
32
33
 
34
+ /**
35
+ * Test whether two values are equal.
36
+ *
37
+ * @param title Title of error message when different
38
+ * @returns Currying function
39
+ */
40
+ export const equals = (title: string) => <T>(x: T) => (y: T) => {
41
+ const diff: string[] = json_equal_to(x, y);
42
+ if (diff.length)
43
+ throw new Error(`Bug on ${title}: found different values - [${diff.join(", ")}]`);
44
+ };
45
+
33
46
  /**
34
47
  * Validate index API.
35
48
  *
@@ -0,0 +1,37 @@
1
+ function array_equal_to(
2
+ items: string[],
3
+ name: string,
4
+ x: any[],
5
+ y: any[],
6
+ ): void {
7
+ if (x.length !== y.length) items.push(`${name}.length`);
8
+ x.forEach((xItem, i) => any_equal_to(items, `${name}[${i}]`, xItem, y[i]));
9
+ }
10
+
11
+ function object_equal_to(
12
+ items: string[],
13
+ name: string,
14
+ x: any,
15
+ y: any,
16
+ ): boolean {
17
+ for (const key in x) {
18
+ if (key.substr(-2) === "id" || key.substr(-3) === "_at") continue;
19
+ any_equal_to(items, `${name}.${key}`, x[key], y[key]);
20
+ }
21
+ return true;
22
+ }
23
+
24
+ function any_equal_to(items: string[], name: string, x: any, y: any): void {
25
+ if (typeof x !== typeof y) items.push(name);
26
+ else if (x instanceof Array)
27
+ if (!(y instanceof Array)) items.push(name);
28
+ else array_equal_to(items, name, x, y);
29
+ else if (x instanceof Object) object_equal_to(items, name, x, y);
30
+ else if (x !== y) items.push(name);
31
+ }
32
+
33
+ export function json_equal_to<T>(x: T, y: T): string[] {
34
+ const ret: string[] = [];
35
+ any_equal_to(ret, "", x, y);
36
+ return ret;
37
+ }