public void SumRegisterOutputsSumOfAAndB() { DataBus bus = new DataBus(); SignalBus signals = new SignalBus(); FlagBus flagBus = new FlagBus(); Register a = new ARegister(bus, signals); Register b = new BRegister(bus, signals); Register sum = new SumRegister(a, b, bus, signals, flagBus); a.Value = 200; b.Value = 100; signals.EO = true; sum.WriteToBus(); Assert.AreEqual(44, bus.Value); Assert.IsTrue(flagBus.Carry); }
public void SumRegisterOutputsSubstractionOfAAndB() { DataBus bus = new DataBus(); SignalBus signals = new SignalBus(); FlagBus flagBus = new FlagBus(); Register a = new ARegister(bus, signals); Register b = new BRegister(bus, signals); Register sum = new SumRegister(a, b, bus, signals, flagBus); a.Value = 166; b.Value = 166; signals.EO = true; signals.SU = true; sum.WriteToBus(); Assert.AreEqual(0, bus.Value); Assert.IsTrue(flagBus.Zero); }