Files
subcoding/test/integration_test.go
Ian Gulliver 8b502f940c Split packages
2021-11-18 19:35:24 -10:00

36 lines
581 B
Go

package test
import "testing"
import "github.com/firestuff/subcoding/asm"
import "github.com/firestuff/subcoding/vm"
func TestLoop(t *testing.T) {
prog, err := asm.AssembleString(`
functions:
- - [add, f0, 1]
- [call, +1]
- [ltu, f0, 3]
- [jmpt, -3]
- - [add, g0, 1]
`)
if err != nil {
t.Fatal(err)
}
state, err := vm.NewState(prog)
if err != nil {
t.Fatal(err)
}
err = state.Execute()
if err != nil {
t.Fatal(err)
}
if state.GlobalMemory().MustReadUnsigned(0) != 3 {
t.Fatalf("Expected 3, found %d\n", state.GlobalMemory().MustReadUnsigned(0))
}
}