Skip to content

Instantly share code, notes, and snippets.

@antaranyan
Created September 9, 2020 09:16
Show Gist options
  • Select an option

  • Save antaranyan/ca4a2bd1542778fde5875f562685adac to your computer and use it in GitHub Desktop.

Select an option

Save antaranyan/ca4a2bd1542778fde5875f562685adac to your computer and use it in GitHub Desktop.

Testing randomness in Deno

Run tests

deno test random.test.ts

Run tests with seeded random (ensure same sequence for Math.random)

deno test random.test.ts --seed 100
import { assertEquals } from "https://deno.land/x/[email protected]/testing/asserts.ts";
function randomFrom<T>(list: T[]): T {
const r = Math.floor(Math.random() * list.length);
return list[r];
}
Deno.test("random results", () => {
const list = [1, 2, 3, 4, 5];
const results = [
randomFrom(list),
randomFrom(list),
randomFrom(list),
];
// seeded random (seed = 100)
assertEquals(results, [5, 5, 1]);
});
@antaranyan
Copy link
Author

Assertion library reports pretty output with diffs
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment