Test for grow

This commit is contained in:
Ian Gulliver
2021-11-20 19:44:57 -10:00
parent 0850ada0c4
commit 789e1e7333
2 changed files with 58 additions and 11 deletions

View File

@@ -3,17 +3,7 @@ package test
import "testing"
import "github.com/firestuff/subcoding/gen"
import "github.com/firestuff/subcoding/asm"
func TestRandProgram(t *testing.T) {
for i := 0; i < 100; i++ {
prog := gen.RandProgram(4, 4, 0)
src, err := asm.Disassemble(prog)
if err != nil {
t.Fatal(err)
}
t.Log(src)
}
gen.RandProgram(4, 4, 0)
}

57
test/grow_test.go Normal file
View File

@@ -0,0 +1,57 @@
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:
- global_memory_inputs:
0: 0
global_memory_outputs:
0: 0
- global_memory_inputs:
0: 1
global_memory_outputs:
0: 5
- global_memory_inputs:
0: 2
global_memory_outputs:
0: 10
- global_memory_inputs:
0: 100
global_memory_outputs:
0: 500
`))
def, err := grow.NewDefinition(r)
if err != nil {
t.Fatal(err)
}
prog, err := def.Grow()
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)
}
}