@inglorious/utils
Version:
A set of general-purpose utility functions designed with functional programming principles in mind.
34 lines (26 loc) • 814 B
JavaScript
import { expect, test } from "vitest"
import { bfs, dfs } from "./tree.js"
test("it should perform Breadth-First Search on a tree", () => {
const tree = {
value: 1,
children: [
{ value: 2, children: [{ value: 4 }, { value: 5 }] },
{ value: 3, children: [{ value: 6 }, { value: 7 }] },
],
}
const expectedResult = [1, 2, 3, 4, 5, 6, 7]
const result = bfs(tree)
expect(result).toStrictEqual(expectedResult)
})
test("it should perform Depth-First Search on a tree", () => {
const tree = {
value: 1,
children: [
{ value: 2, children: [{ value: 3 }, { value: 4 }] },
{ value: 5, children: [{ value: 6 }, { value: 7 }] },
],
}
const expectedResult = [1, 2, 3, 4, 5, 6, 7]
const result = dfs(tree)
expect(result).toStrictEqual(expectedResult)
})