@lou.codes/test
Version:
✅ Equality test with enforced readability
30 lines (29 loc) • 807 B
TypeScript
import type { Differences } from "./Differences.js";
import type { Test } from "./Test.js";
/**
* Takes a `Test` object and returns a promise with a `TestResult`.
*
* @category Test
* @example
* ```typescript
* evaluate({
* given: "🟢",
* must: "🟩",
* received: () => "🟩",
* wanted: () => "🟩",
* }); // Promise<{ given: "🟢", , must: "🟩" }>
* evaluate({
* given: "🟢",
* must: "🟩",
* received: () => "❌",
* wanted: () => "🟩",
* }); // Promise<{ differences: […], given: "🟢", , must: "🟩" }>
* ```
* @param testDescription A `Test` object.
* @returns A promise with a `TestResult` object.
*/
export declare const evaluate: <Value>(testDescription: Test<Value>) => Promise<{
given: string;
must: string;
differences?: Differences;
}>;