public void Setup() { _byteFactory = new ByteFactory(new Base10Converter()); _and = new And(); _memoryGateFactory = new MemoryGateFactory(new NAnd(new Not(), _and)); _byteMemoryGate = new ByteMemoryGate(_memoryGateFactory, _byteFactory); _byteEnabler = new ByteEnabler(_and, _byteFactory); _sut = new ByteRegister(_byteMemoryGate, _byteEnabler, _byteFactory, wire => {}); }
public void CanStoreAByte(bool expected) { var sut = new ByteMemoryGate(new MemoryGateFactory(new NAnd(new Not(), new And())), new ByteFactory(new Base10Converter())); var input = new Byte(Enumerable.Range(0, 8).Select(s => expected).ToArray()); var result = sut.Apply(input, true); for (var i = 0; i < input.Count; i++) { Assert.AreEqual(input[i], result[i]); } }
public void CanKeepTheValueOfAByte() { var sut = new ByteMemoryGate(new MemoryGateFactory(new NAnd(new Not(), new And())), new ByteFactory(new Base10Converter())); var input = new Byte(Enumerable.Range(0, 8).Select(s => true).ToArray()); var result = sut.Apply(input, true); for (var i = 0; i < input.Count; i++) { Assert.AreEqual(input[i], result[i]); } input = new Byte(Enumerable.Range(0, 8).Select(s => false).ToArray()); result = sut.Apply(input, false); for (var i = 0; i < input.Count; i++) { Assert.AreEqual(true, result[i]); } }