[InlineData(0x5E, 0xAF, 7, 0x57)] // 0x5EAF 0101111(0 1010111)1 => 0x57 (87) public void OffsetIsUsedDuringRead(byte upperByte, byte lowerByte, int offset, byte expected) { var shiftRegister = new ShiftRegister(); Assert.Equal(0, shiftRegister.Read()); shiftRegister.Write(lowerByte); shiftRegister.Write(upperByte); shiftRegister.SetOffset(offset); Assert.Equal(expected, shiftRegister.Read()); // Ensure multiple reads aren't mutating the internal value during the offset shift operation. Assert.Equal(expected, shiftRegister.Read()); }
public void ValuesAreShifted() { var shiftRegister = new ShiftRegister(); Assert.Equal(0, shiftRegister.Read()); shiftRegister.Write(0xAF); Assert.Equal(0xAF, shiftRegister.Read()); shiftRegister.Write(0x5E); Assert.Equal(0x5E, shiftRegister.Read()); shiftRegister.Write(0x29); Assert.Equal(0x29, shiftRegister.Read()); }