1 package net.mograsim.logic.ui.am2900;
3 import static net.mograsim.logic.ui.am2900.TestableAm2901.Am2901_Dest.*;
4 import static net.mograsim.logic.ui.am2900.TestableAm2901.Am2901_Func.*;
5 import static net.mograsim.logic.ui.am2900.TestableAm2901.Am2901_Src.*;
6 import static org.junit.jupiter.api.Assertions.assertEquals;
8 import org.junit.jupiter.api.BeforeEach;
9 import org.junit.jupiter.api.Test;
11 import net.mograsim.logic.ui.am2900.TestableAm2901.Result;
13 public class Am2901Test
15 private TestableAm2901 am2901;
27 assertEquals("0", am2901.getCarryOut());
28 assertEquals("0", am2901.getOverflow());
29 assertEquals("0", am2901.getSign());
30 assertEquals("1", am2901.getZero());
31 assertEquals("0000", am2901.getY());
32 assertEquals("0", am2901.getQ_0());
33 assertEquals("0", am2901.getQ_3());
34 assertEquals("0", am2901.getRAM_0());
35 assertEquals("0", am2901.getRAM_3());
40 am2901 = new TestableAm2901Impl();
44 void setRegistersToZero()
47 for (Regsiter r : Regsiter.values())
53 void setRegisterToZero(Regsiter r)
55 System.out.println("Setting reg " + r + " to zero");
64 am2901.setReg_B(r.toBitString());
74 void setInputsToZero()
76 am2901.setCarryIn("0");
81 am2901.setReg_A("0000");
82 am2901.setReg_B("0000");
87 // am2901.setNotOutEnable("0"); TODO
91 void assertRunSuccess()
93 assertEquals(Result.SUCCESS, am2901.run());
98 r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, rA, rB, rC, rD, rE, rF, Q;
100 public String toBitString()
102 if (this.ordinal() > 0xF)
103 throw new UnsupportedOperationException();
104 return TestUtil.to4bitBin(this.ordinal());