From efdcf6119e5de99a837189a06a2a23a088432f2d Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Mon, 9 Jan 2023 17:12:43 +0530 Subject: feat: wow --- examples/guess-number.ts | 3 +-- examples/test-runner.ts | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 examples/test-runner.ts (limited to 'examples') diff --git a/examples/guess-number.ts b/examples/guess-number.ts index d08c616..f03ee10 100644 --- a/examples/guess-number.ts +++ b/examples/guess-number.ts @@ -1,5 +1,4 @@ import { - Print, PutString, Bind, Kind1, @@ -21,7 +20,7 @@ interface AskForGuess : Do< [ PutString<'Wrong guess. Total attempts'>, - Print<`${[...Attempts, 0] extends infer Ls extends 0[] + PutStringLn<` ${[...Attempts, 0] extends infer Ls extends 0[] ? Ls['length'] : 0}/5`>, (StartGuessing<[...Attempts, 0]> & { input: N })['return'] diff --git a/examples/test-runner.ts b/examples/test-runner.ts new file mode 100644 index 0000000..c0eb4c4 --- /dev/null +++ b/examples/test-runner.ts @@ -0,0 +1,35 @@ +import { DefineEffect, Do, Effect, Print, PutString, PutStringLn } from '../stdlib' + +type Testi = [ + PutStringLn, + ...effs, +] + +type Equals = + [Left] extends [Right] ? ([Right] extends [Left] ? true : false) : false + +interface Assert<_B extends true> extends Effect { } + +type testCases = [ + ...Testi<"should do some stuff", [ + Assert>, + ]>, + + ...Testi<"hello world", [ + Print<2>, + ]>, + + ...Testi<"should do some other stuff", [ + Print<5>, + ]>, +] + +export type main = [ + DefineEffect<'Assert', `(b) => { + if (!b.getLiteralValue()) { + throw new Error('AAAAAAA') + } + }`>, + PutStringLn<"Running tests...">, + Do, +] -- cgit v1.3.1