summaryrefslogtreecommitdiff
path: root/pbt/ts/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'pbt/ts/src/index.ts')
-rw-r--r--pbt/ts/src/index.ts46
1 files changed, 30 insertions, 16 deletions
diff --git a/pbt/ts/src/index.ts b/pbt/ts/src/index.ts
index 25b97aa..7f67d77 100644
--- a/pbt/ts/src/index.ts
+++ b/pbt/ts/src/index.ts
@@ -1,12 +1,14 @@
-import "dotenv/config";
+import 'dotenv/config';
import Prando from 'prando';
-import { Gen, Property, listOf, property, shrinklist, someInt } from "./property";
+import {Gen, Property, listOf, property, shrinklist, someInt} from './property';
function arrayEquals<A>(a: A[], b: A[]): boolean {
- return Array.isArray(a) &&
+ return (
+ Array.isArray(a) &&
Array.isArray(b) &&
a.length === b.length &&
- a.every((val, index) => val === b[index]);
+ a.every((val, index) => val === b[index])
+ );
}
function reverse<A>(arr: A[]): A[] {
@@ -25,14 +27,16 @@ function gen2lists<A>(gen: Gen<A>): Gen<[A[], A[]]> {
return (rng: Prando) => {
let gl = listOf(gen)(rng);
return (size: number) => {
- return [gl(size), gl(size)]
+ return [gl(size), gl(size)];
};
};
}
function reverse_with_two_lists<A>(arrs: [A[], A[]]): boolean {
- return arrayEquals(reverse(arrs[0].concat(arrs[1])),
- reverse(arrs[0]).concat(reverse(arrs[1])));
+ return arrayEquals(
+ reverse(arrs[0].concat(arrs[1])),
+ reverse(arrs[1]).concat(reverse(arrs[0])),
+ );
}
function shrink2lists<A>([l1, l2]: [A[], A[]]): [A[], A[]][] {
@@ -40,22 +44,32 @@ function shrink2lists<A>([l1, l2]: [A[], A[]]): [A[], A[]][] {
let s1 = shrinklist(l1);
let s2 = shrinklist(l2);
for (let i = 0; i < s1.length; i++) {
- let j = s2.length - i -1;
+ let j = s2.length - i - 1;
let news2 = j >= 0 ? s2[j] : [];
result.push([s1[i], news2]);
}
return result;
}
-export let prop_reverse_with_two_lists =
- property<[number[], number[]]>(reverse_with_two_lists, gen2lists(someInt), shrink2lists);
+export let prop_reverse_with_two_lists = property<[number[], number[]]>(
+ gen2lists(someInt),
+ reverse_with_two_lists,
+ shrink2lists,
+);
-let prop_reverse_is_self_inverse =
- property(reverse_is_self_inverse, listOf(someInt), shrinklist);
+let prop_reverse_is_self_inverse = property(
+ listOf(someInt),
+ reverse_is_self_inverse,
+ shrinklist,
+);
-async function main() {
+async function main(): Promise<void> {
let reverse_append_result = Property.run(prop_reverse_with_two_lists);
let reverse_reverse_result = Property.run(prop_reverse_is_self_inverse);
- console.log('reverse_append_result: ' + JSON.stringify(reverse_append_result));
- console.log('reverse_reverse_result: ' + JSON.stringify(reverse_reverse_result));
-};
+ console.log(
+ 'reverse_append_result: ' + JSON.stringify(reverse_append_result),
+ );
+ console.log(
+ 'reverse_reverse_result: ' + JSON.stringify(reverse_reverse_result),
+ );
+}