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, ]