diff options
| author | Marak <[email protected]> | 2021-10-18 21:46:21 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-10-18 21:46:21 -0400 |
| commit | 2b7ce5fbfe569a2328b520ad8f804c943f6140cb (patch) | |
| tree | 7434d7bb7f134a306084009ffb93c7328330b6f7 /test | |
| parent | ad303baff670ef1842dc0a06d2f6a254591289b5 (diff) | |
| parent | 5280f7bfec0ebe0af4e9e7f611c9b30a7c819867 (diff) | |
| download | faker-2b7ce5fbfe569a2328b520ad8f804c943f6140cb.tar.xz faker-2b7ce5fbfe569a2328b520ad8f804c943f6140cb.zip | |
Merge pull request #1177 from hsw107/master
feat: add uniqueArray helper function
Diffstat (limited to 'test')
| -rw-r--r-- | test/helpers.unit.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/helpers.unit.js b/test/helpers.unit.js index ec32dd02..c2f0adee 100644 --- a/test/helpers.unit.js +++ b/test/helpers.unit.js @@ -58,6 +58,54 @@ describe("helpers.js", function () { }); }); + describe("uniqueArray()", function () { + it("custom array returns unique array", function () { + var input = ["a", "a", "a", "a,", "a", "a", "a", "a", "b"]; + var length = 2; + var unique = faker.helpers.uniqueArray(input, length); + assert.strictEqual(unique.length, length); + assert.strictEqual(new Set(unique).size, length); + }); + + it("definition array returns unique array", function () { + var length = faker.datatype.number({ min: 1, max: 6 }); + var unique = faker.helpers.uniqueArray(faker.definitions.hacker.noun, length); + assert.strictEqual(unique.length, length); + assert.strictEqual(new Set(unique).size, length); + }); + + it("function returns unique array", function () { + var length = faker.datatype.number({ min: 1, max: 6 }); + var unique = faker.helpers.uniqueArray(faker.lorem.word, length); + assert.strictEqual(unique.length, length); + assert.strictEqual(new Set(unique).size, length); + }); + + it("empty array returns empty array", function () { + var input = []; + var length = faker.datatype.number({ min: 1, max: 6 }); + var unique = faker.helpers.uniqueArray(input, length); + assert.strictEqual(unique.length, input.length); + assert.strictEqual(new Set(unique).size, input.length); + }); + + it("length longer than source returns max length", function () { + var input = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]; + var length = input.length + 1; + var unique = faker.helpers.uniqueArray(input, length); + assert.strictEqual(unique.length, input.length); + assert.strictEqual(new Set(unique).size, input.length); + }); + + it("works as expected when seeded", function () { + var input = ["a", "a", "a", "a", "a", "f", "g", "h", "i", "j"]; + var length = 5; + faker.seed(100); + var unique = faker.helpers.uniqueArray(input, length); + assert.deepStrictEqual(unique, ["g", "a", "i", "f", "j"]); + }); + }); + describe("slugify()", function () { it("removes unwanted characters from URI string", function () { assert.strictEqual(faker.helpers.slugify("Aiden.HarÂȘann"), "Aiden.Harann"); |
