diff --git a/src/index.ts b/src/index.ts index e39e861..d3117f3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -87,14 +87,12 @@ const clone = (graph: Graph): Graph => { return result; }; -const create = (size: number, identFn: (i: number) => T): Graph => { +const create = (vertices: Array): Graph => { const result = {} as Graph; - for (let i = 0; i < size; i++) { - const u = identFn(i); + for (let u of vertices) { result[u] = {} as Graph[T]; - for (let j = 0; j < size; j++) { - const v = identFn(j); + for (let v of vertices) { result[u][v] = 0; } } diff --git a/tests/create.ts b/tests/create.ts index 2d76457..bc2182c 100644 --- a/tests/create.ts +++ b/tests/create.ts @@ -2,14 +2,16 @@ import { create } from "../src"; import test from "tape"; test("create", (t) => { - t.plan(1); + t.plan(2); + + t.deepEqual(create([]), {}, "Base case"); t.deepEqual( - create(2, (i) => `${i}!`), + create(["a", "b"]), { - "0!": { "0!": 0, "1!": 0 }, - "1!": { "0!": 0, "1!": 0 }, + a: { a: 0, b: 0 }, + b: { a: 0, b: 0 }, }, - "Custom ID function is used", + "Custom IDs are provided", ); });