Files
subcoding/test/grow_test.go
2021-11-20 20:30:16 -10:00

53 lines
773 B
Go

package test
import "bytes"
import "testing"
import "github.com/firestuff/subcoding/asm"
import "github.com/firestuff/subcoding/grow"
func TestGrow(t *testing.T) {
r := bytes.NewReader([]byte(`
global_memory_size: 1
function_memory_size: 1
instruction_limit: 2
samples:
- in: [0]
out: [0]
- in: [1]
out: [5]
- in: [2]
out: [10]
- in: [100]
out: [500]
`))
def, err := grow.NewDefinition(r)
if err != nil {
t.Fatal(err)
}
prog, err := def.Grow(nil)
if err != nil {
t.Fatal(err)
}
src, err := asm.Disassemble(prog)
if err != nil {
t.Fatal(err)
}
expected := `global_memory_size: 1
function_memory_size: 1
instruction_limit: 2
functions:
- - [mul, g0, 5]
`
if src != expected {
t.Fatalf("Expected:\n%sActual:\n%s", expected, src)
}
}