From 789e1e73332188c5f3d91851bdbcbad67b7b0c39 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Sat, 20 Nov 2021 19:44:57 -1000 Subject: [PATCH] Test for grow --- test/gen_test.go | 12 +--------- test/grow_test.go | 57 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 11 deletions(-) create mode 100644 test/grow_test.go diff --git a/test/gen_test.go b/test/gen_test.go index 041484c..8f54e68 100644 --- a/test/gen_test.go +++ b/test/gen_test.go @@ -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) } diff --git a/test/grow_test.go b/test/grow_test.go new file mode 100644 index 0000000..a6593ce --- /dev/null +++ b/test/grow_test.go @@ -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) + } +}