public void ConnectTo_SmallerSource_ThrowsException() { var busWidth = 8; var source = new Bus(4); var uut = new BusTap(busWidth); Action test = () => uut.ConnectTo(source); test.ShouldThrow <ArgumentException>(); }
public void ConnectTo_BiggerSource_MaintainsBusWidth() { var busWidth = 8; var source = new Bus <BusData16>(); var uut = new BusTap(busWidth); uut.ConnectTo(source); uut.Signals.Should().HaveCount(busWidth); }
public void TestInitialize() { var builder = CreateModelBuilder(HelloWorldBin); var ioAddress = new BusTap(8); ioAddress.ConnectTo(builder.Model.Address); builder.AddOutputPort(ioAddress, builder.Model.Data, 0x20, "ConsoleOut"); builder.AddLogicAnalyzer(false); builder.Model.LogicAnalyzer.ConnectInput( builder.Model.OutputPorts.Values.First().PortEnable.DigitalSignal); builder.Model.LogicAnalyzer.Start(); _model = builder.Model; }
public void ConnectTo_ChangeSource_BusValueCorrect() { var busWidth = 8; var source = new Bus <BusData16>(); var uut = new BusTap(busWidth); uut.ConnectTo(source); var driver = new BusMaster(source); driver.IsEnabled = true; driver.Write(new BusData16(0xAA55)); uut.Value.ToUInt32().Should().Be(0x55); }
public void ConnectTo_ChangeSource_EventFires() { var busWidth = 8; var source = new Bus <BusData16>(); var uut = new BusTap(busWidth); uut.ConnectTo(source); uut.MonitorEvents(); var driver = new BusMaster(source); driver.IsEnabled = true; driver.Write(new BusData16(0xAA55)); uut.ShouldRaise("OnChanged"); }