syntaxai/tdd.md · main · content / games / fizzbuzz / spec.ts
import type { Game } from "../../../src/c31_games.ts";
export const spec: Game = {
id: "fizzbuzz",
description: "FizzBuzz, judged. Build say(n) in four steps: number, Fizz, Buzz, FizzBuzz.",
signature: "say(n: number): string",
importPath: "./fizzbuzz",
steps: [
{
id: "number",
requirement: "say(n) returns the number as a string for inputs that are neither divisible by 3 nor 5",
hiddenTestFile: "hidden/number.ts",
},
{
id: "fizz",
requirement: "say(n) returns 'Fizz' for multiples of 3 (but not 5)",
hiddenTestFile: "hidden/fizz.ts",
},
{
id: "buzz",
requirement: "say(n) returns 'Buzz' for multiples of 5 (but not 3)",
hiddenTestFile: "hidden/buzz.ts",
},
{
id: "fizzbuzz",
requirement: "say(n) returns 'FizzBuzz' for multiples of both 3 and 5",
hiddenTestFile: "hidden/fizzbuzz.ts",
},
],
};