t3-code-android-nightly/.repos/effect-smol/packages/effect/test/Combiner.test.ts
Julius Marminge e3f1405884
chore: add vendored reference repo subtree sync tooling (#2902)
Co-authored-by: codex <codex@users.noreply.github.com>
2026-06-01 21:44:23 -07:00

42 lines
1,012 B
TypeScript

import { Combiner, Number, String } from "effect"
import { describe, it } from "vitest"
import { strictEqual } from "./utils/assert.ts"
describe("Combiner", () => {
it("flip", () => {
const C = Combiner.flip(String.ReducerConcat)
strictEqual(C.combine("a", "b"), "ba")
})
it("min", () => {
const C = Combiner.min(Number.Order)
strictEqual(C.combine(1, 2), 1)
strictEqual(C.combine(2, 1), 1)
})
it("max", () => {
const C = Combiner.max(Number.Order)
strictEqual(C.combine(1, 2), 2)
strictEqual(C.combine(2, 1), 2)
})
it("first", () => {
const C = Combiner.first<number>()
strictEqual(C.combine(1, 2), 1)
})
it("last", () => {
const C = Combiner.last<number>()
strictEqual(C.combine(1, 2), 2)
})
it("constant", () => {
const C = Combiner.constant(0)
strictEqual(C.combine(1, 2), 0)
})
it("intercalate", () => {
const C = Combiner.intercalate("+")(String.ReducerConcat)
strictEqual(C.combine("a", "b"), "a+b")
})
})