/** AUTO-GENERATED by scripts/gen-testgen-oracle.ts — DO NOT EDIT. */
export interface TestgenTemplate {
  id: string;
  family: string;
  branch: 'algebraic' | 'contract' | 'state' | 'representation' | 'freeform';
  paramCount: number;
  paramTypes: string[];
  returnType: string;
  license: string;
  body: string;
}
export const TESTGEN_TEMPLATES: TestgenTemplate[] = [
  {
    "id": "smoke-binary-number",
    "family": "determinism",
    "branch": "algebraic",
    "paramCount": 2,
    "paramTypes": [
      "number",
      "number"
    ],
    "returnType": "number",
    "license": "export",
    "body": "expect(typeof SYM(1, 2)).toBe('number');\nexpect(Number.isFinite(SYM(1, 2))).toBe(true);"
  },
  {
    "id": "smoke-unary-string",
    "family": "determinism",
    "branch": "algebraic",
    "paramCount": 1,
    "paramTypes": [
      "string"
    ],
    "returnType": "string",
    "license": "export",
    "body": "expect(typeof SYM('x')).toBe('string');"
  },
  {
    "id": "rejects-empty-string",
    "family": "rejects-empty",
    "branch": "contract",
    "paramCount": 1,
    "paramTypes": [
      "string"
    ],
    "returnType": "string",
    "license": "empty",
    "body": "expect(() => SYM('')).toThrow();"
  },
  {
    "id": "roundtrip-string",
    "family": "roundtrip",
    "branch": "algebraic",
    "paramCount": 1,
    "paramTypes": [
      "string"
    ],
    "returnType": "string",
    "license": "roundtrip",
    "body": "expect(SYM('  ab  ')).toBe('ab');\nexpect(SYM('ab')).toBe('ab');"
  },
  {
    "id": "model-schema-construct",
    "family": "model-schema",
    "branch": "state",
    "paramCount": 1,
    "paramTypes": [
      "Record<string, unknown>"
    ],
    "returnType": "ArticleModel",
    "license": "model-schema",
    "body": "expect(() => new SYM({})).not.toThrow();\nexpect(new SYM({})).toBeInstanceOf(SYM);"
  },
  {
    "id": "uses-dep-seam",
    "family": "uses-dep",
    "branch": "contract",
    "paramCount": 0,
    "paramTypes": [],
    "returnType": "unknown",
    "license": "uses-dep",
    "body": "expect(SYM).toBeDefined();\nexpect(typeof SYM).toBe('function');"
  }
];
