aboutsummaryrefslogtreecommitdiff
path: root/eval_test.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-06-04 01:05:58 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-06-04 01:05:58 +0200
commit17a25dd6d354a3ffe9e81fc9f827684c10f7eb7f (patch)
tree0e686350e91a74005080f7f1e68af1f5c44a8a8c /eval_test.go
parent6960f8870fd6a65955db7f9f5ee04aa6848d56ac (diff)
Add tests
Diffstat (limited to 'eval_test.go')
-rw-r--r--eval_test.go27
1 files changed, 13 insertions, 14 deletions
diff --git a/eval_test.go b/eval_test.go
index d60f7ab..89e957a 100644
--- a/eval_test.go
+++ b/eval_test.go
@@ -7,28 +7,27 @@ import (
func TestEval(t *testing.T) {
testCases := []struct {
- before J1
- after J1
- ins Instruction
+ begin, end J1
+ ins Instruction
}{
- {ins: ALU{}, before: J1{}, after: J1{pc: 1}},
- {ins: Jump(0xff), before: J1{}, after: J1{pc: 0xff}},
- {ins: Cond(0xff), before: J1{st0: 1, dsp: 1}, after: J1{pc: 1}},
- {ins: Cond(0xff), before: J1{st0: 0, dsp: 1}, after: J1{pc: 0xff}},
- {ins: Call(0xff), before: J1{}, after: J1{pc: 0xff, rstack: [32]uint16{1}, rsp: 1}},
- {ins: Lit(0xff), before: J1{}, after: J1{pc: 1, st0: 0xff, dstack: [32]uint16{0xff}, dsp: 1}},
+ {ins: ALU{}, begin: J1{}, end: J1{pc: 1}},
+ {ins: Jump(0xff), begin: J1{}, end: J1{pc: 0xff}},
+ {ins: Cond(0xff), begin: J1{st0: 1, dsp: 1}, end: J1{pc: 1}},
+ {ins: Cond(0xff), begin: J1{st0: 0, dsp: 1}, end: J1{pc: 0xff}},
+ {ins: Call(0xff), begin: J1{}, end: J1{pc: 0xff, rstack: [32]uint16{1}, rsp: 1}},
+ {ins: Lit(0xff), begin: J1{}, end: J1{pc: 1, st0: 0xff, dstack: [32]uint16{0xff}, dsp: 1}},
{ins: Lit(0xfe),
- before: J1{pc: 1, st0: 0xff, dstack: [32]uint16{0xff}, dsp: 1},
- after: J1{pc: 2, st0: 0xfe, dstack: [32]uint16{0xff, 0xfe}, dsp: 2}},
+ begin: J1{pc: 1, st0: 0xff, dstack: [32]uint16{0xff}, dsp: 1},
+ end: J1{pc: 2, st0: 0xfe, dstack: [32]uint16{0xff, 0xfe}, dsp: 2}},
// to be continued
}
for _, tc := range testCases {
t.Run(fmt.Sprint(tc.ins), func(t *testing.T) {
- state := &tc.before
+ state := &tc.begin
state.eval(tc.ins)
- if *state != tc.after {
- t.Errorf("got %v, want %v", state, &tc.after)
+ if *state != tc.end {
+ t.Errorf("got %v, want %v", state, &tc.end)
}
})
}