Files
gyehoek-hs/test/Gyehoek/Test/Stack/VM.hs
T
msyds 6b723cf91e
build / build (push) Failing after 5m41s
2026-08-17 21:06:19 -06:00

31 lines
590 B
Haskell

module Gyehoek.Test.Stack.VM (root) where
import Test.Tasty (TestTree, testGroup)
import Test.Tasty.HUnit
import Gyehoek.Stack.Syntax
import Gyehoek.Stack.VM qualified as Sut
import Data.List (List)
import Control.Lens
import Data.Generics.Labels
root :: IO TestTree
root = pure . testGroup "stack machine" $
[ add
]
evalsTo :: List Val -> List Block -> Assertion
evalsTo rs bs = Sut.eval (MkProgram bs) @?= rs
add = testCase "lit int" do
evalsTo [ValLit (LitInt 3)]
[ MkBlock "main" []
[ PopCont "ktail"
, CallReg "ktail" [ValLit (LitInt 3)]
]]