Add more tests

master
kolaente 4 years ago
parent 1d0dd6faa3
commit 80e9d69813
Signed by: kolaente
GPG Key ID: F40E70337AB24C9B
  1. 64
      hal_test.go

@ -0,0 +1,64 @@
package main
import (
"git.jfdev.de/JonasFranzDEV/hal/hal"
"git.jfdev.de/JonasFranzDEV/hal/parser"
"github.com/stretchr/testify/assert"
"testing"
)
func TestAddition(t *testing.T) {
input := []string{
"1 START",
"2 IN 0",
"3 STORE 10",
"4 IN 0",
"5 ADD 10",
"6 OUT 1",
"7 STOP",
}
program, err := parser.ParseProgram(input)
assert.NoError(t, err)
module, err := hal.NewHALModule(program, 256, 2, false)
assert.NoError(t, err)
module.IO[0] = 10
err = module.Run()
assert.NoError(t, err)
assert.Equal(t, float64(20), module.IO[1])
}
func TestMax(t *testing.T) {
input := []string{
"00 IN 0",
"01 STORE 1",
"02 IN 1",
"03 STORE 2",
"04 SUB 1",
"05 JUMPPOS 9",
"06 LOAD 1",
"07 OUT 1",
"08 STOP",
"09 LOAD 2",
"10 OUT 1",
"11 STOP",
}
program, err := parser.ParseProgram(input)
assert.NoError(t, err)
module, err := hal.NewHALModule(program, 256, 2, false)
assert.NoError(t, err)
module.IO[0] = 10
module.IO[1] = 15
err = module.Run()
assert.NoError(t, err)
assert.Equal(t, float64(15), module.IO[1])
}
Loading…
Cancel
Save