Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
1234567891011121314151617181920import { describe, expect, test } from "bun:test"import { Binary } from "./binary.js"
describe("binary search", () => { test("finds sorted values and their insertion points", () => { const values = [{ id: "a" }, { id: "c" }, { id: "e" }] expect(Binary.search(values, "c", (item) => item.id)).toEqual({ found: true, index: 1 }) expect(Binary.search(values, "d", (item) => item.id)).toEqual({ found: false, index: 2 }) expect(Binary.search(values, "0", (item) => item.id)).toEqual({ found: false, index: 0 }) })
test("inserts before the first matching sorted value", () => { const values = [{ id: "a" }, { id: "c" }, { id: "c" }, { id: "e" }] const item = { id: "c" }
expect(Binary.insert(values, item, (value) => value.id)).toBe(values) expect(values).toEqual([{ id: "a" }, item, { id: "c" }, { id: "c" }, { id: "e" }]) })})