2023-02-27 01:01:55 +05:30
|
|
|
import { getPseudoRandomSubset } from "@waku/utils";
|
2022-02-04 14:12:00 +11:00
|
|
|
import { expect } from "chai";
|
2021-09-15 16:53:55 +10:00
|
|
|
|
2022-02-04 14:12:00 +11:00
|
|
|
describe("Discovery", () => {
|
|
|
|
|
it("returns all values when wanted number matches available values", function () {
|
|
|
|
|
const values = ["a", "b", "c"];
|
2021-09-15 16:53:55 +10:00
|
|
|
|
|
|
|
|
const res = getPseudoRandomSubset(values, 3);
|
|
|
|
|
|
|
|
|
|
expect(res.length).to.eq(3);
|
2022-02-04 14:12:00 +11:00
|
|
|
expect(res.includes("a")).to.be.true;
|
|
|
|
|
expect(res.includes("b")).to.be.true;
|
|
|
|
|
expect(res.includes("c")).to.be.true;
|
2021-09-15 16:53:55 +10:00
|
|
|
});
|
|
|
|
|
|
2022-02-04 14:12:00 +11:00
|
|
|
it("returns all values when wanted number is greater than available values", function () {
|
|
|
|
|
const values = ["a", "b", "c"];
|
2021-09-15 16:53:55 +10:00
|
|
|
|
|
|
|
|
const res = getPseudoRandomSubset(values, 5);
|
|
|
|
|
|
|
|
|
|
expect(res.length).to.eq(3);
|
2022-02-04 14:12:00 +11:00
|
|
|
expect(res.includes("a")).to.be.true;
|
|
|
|
|
expect(res.includes("b")).to.be.true;
|
|
|
|
|
expect(res.includes("c")).to.be.true;
|
2021-09-15 16:53:55 +10:00
|
|
|
});
|
|
|
|
|
|
2022-02-04 14:12:00 +11:00
|
|
|
it("returns a subset of values when wanted number is lesser than available values", function () {
|
|
|
|
|
const values = ["a", "b", "c"];
|
2021-09-15 16:53:55 +10:00
|
|
|
|
|
|
|
|
const res = getPseudoRandomSubset(values, 2);
|
|
|
|
|
|
|
|
|
|
expect(res.length).to.eq(2);
|
|
|
|
|
});
|
|
|
|
|
});
|