diff --git a/TODO.md b/TODO.md index fa01ef7..bf3a75b 100644 --- a/TODO.md +++ b/TODO.md @@ -1,7 +1,5 @@ # system-a -[system-a] `utils/samples` - # the-book 6: An Apple a Day diff --git a/src/utils/samples.test.ts b/src/utils/samples.test.ts new file mode 100644 index 0000000..685e0a7 --- /dev/null +++ b/src/utils/samples.test.ts @@ -0,0 +1,8 @@ +import assert from "node:assert" +import { test } from "node:test" +import { samples } from "./samples.js" + +test("samples", () => { + assert.deepStrictEqual(samples(10, 3).length, 3) + assert.deepStrictEqual(samples(10, 100).length, 100) +}) diff --git a/src/utils/samples.ts b/src/utils/samples.ts new file mode 100644 index 0000000..d062c40 --- /dev/null +++ b/src/utils/samples.ts @@ -0,0 +1,11 @@ +import { randomNat } from "./randomNat.js" + +export function samples(n: number, s: number): Array { + const results: Array = [] + while (s > 0) { + results.push(randomNat(n)) + s-- + } + + return results +}