adds test for symbols

This commit is contained in:
Felipe Lima 2015-06-21 22:52:08 -07:00
parent df2e9fac8f
commit 4839b4b52f
2 changed files with 26 additions and 2 deletions

View File

@ -1,9 +1,9 @@
package android.emu6502;
import com.google.common.collect.ImmutableList;
import android.emu6502.instructions.Symbols;
import com.google.common.collect.ImmutableList;
import org.junit.Before;
import org.junit.Test;
@ -127,4 +127,14 @@ public class AssemblerTest {
assembler.assembleCode(lines);
assertThat(assembler.hexdump(), equalTo("0600: A9 03 4C 08 06 00 00 00 8D 00 02"));
}
@Test public void testSymbols() {
List<String> lines = ImmutableList.of(
"define sysRandom $fe ; an adress",
"define a_dozen $0c ; a constant",
"LDA sysRandom ; equivalent to \"LDA $fe\"",
"LDX #a_dozen ; equivalent to \"LDX #$0c\"");
assembler.assembleCode(lines);
assertThat(assembler.hexdump(), equalTo("0600: A5 FE A2 0C"));
}
}

View File

@ -126,4 +126,18 @@ public class CPUTest {
assertThat(cpu.getPC(), equalTo(0x0613));
assertThat(cpu.flags(), equalTo("00110011"));
}
@Test public void testSymbols() {
List<String> lines = ImmutableList.of(
"define a_dozen $0c ; a constant",
"LDX #a_dozen ; equivalent to \"LDX #$0c\"");
assembler.assembleCode(lines);
cpu.execute();
assertThat(cpu.getA(), equalTo(0x00));
assertThat(cpu.getX(), equalTo(0x0C));
assertThat(cpu.getY(), equalTo(0x00));
assertThat(cpu.getSP(), equalTo(0xFF));
assertThat(cpu.getPC(), equalTo(0x0603));
assertThat(cpu.flags(), equalTo("00110000"));
}
}