diff options
Diffstat (limited to 'properties/main_test.ts')
-rw-r--r-- | properties/main_test.ts | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/properties/main_test.ts b/properties/main_test.ts deleted file mode 100644 index 669e1d9..0000000 --- a/properties/main_test.ts +++ /dev/null @@ -1,76 +0,0 @@ -import fc from "https://cdn.skypack.dev/fast-check"; -import PMap from "../build/dev/javascript/gleam_stdlib/persistent-hash-map.mjs"; - -const options = Object.freeze({ - numRuns: 1000_000, -}); - -Deno.test("all inserted numbers must exist within", () => { - const property = (numbers: Array<number>) => { - let map = PMap.new(); - - // Insert all numbers - for (const number of numbers) { - map = map.set(number, 1); - } - - // Check that all numbers are in the map - for (const number of numbers) { - if (!map.has(number)) { - console.log(`Number ${number} not found`); - return false; - } - } - }; - - const arbitrary = fc.array(fc.integer()); - fc.assert(fc.property(arbitrary, property), options); -}); - -Deno.test("all inserted values can be got", () => { - const property = (numbers: Array<[number, number]>) => { - const reference = new Map(); - let map = PMap.new(); - - // Insert all pairs - for (const [k, v] of numbers) { - reference.set(k, v); - map = map.set(k, v); - } - - // Check that all keys have the correct value - for (const [k, _] of numbers) { - const expected = reference.get(k); - const found = map.get(k, undefined); - if (found !== expected) { - console.log(`${k} was ${found} not ${expected}`); - return false; - } - } - }; - - const arbitrary = fc.array(fc.tuple(fc.integer(), fc.integer())); - fc.assert(fc.property(arbitrary, property), options); -}); - -Deno.test("size", () => { - const property = (numbers: Array<number>) => { - const reference = new Map(); - let map = PMap.new(); - - // Insert all values - for (const k of numbers) { - reference.set(k, 1); - map = map.set(k, 1); - } - - // Map size should match reference - if (map.size !== reference.size) { - console.log(`size was ${map.size} not ${reference.size}`); - return false; - } - }; - - const arbitrary = fc.array(fc.integer()); - fc.assert(fc.property(arbitrary, property), options); -}); |