Files
avo/internal/inst/inst_test.go

37 lines
646 B
Go
Raw Normal View History

2018-11-24 14:08:55 -08:00
package inst
import "testing"
func TestHaveInstructions(t *testing.T) {
n := len(Instructions)
t.Logf("number of instructions = %d", n)
if n == 0 {
t.Fatalf("no instructions")
}
}
func TestOpcodeDupes(t *testing.T) {
count := map[string]int{}
for _, i := range Instructions {
count[i.Opcode]++
}
for opcode, n := range count {
if n > 1 {
t.Errorf("opcode %s appears %d times", opcode, n)
}
}
}
func TestInstructionProperties(t *testing.T) {
for _, i := range Instructions {
if len(i.Opcode) == 0 {
t.Errorf("empty opcode")
}
if len(i.Forms) == 0 {
t.Errorf("instruction %s has no forms", i.Opcode)
}
}
}