public void ClearBlackTest()
        {
            using var result = new Epd7In5_V2();
            result.Initialize(m_EPaperDisplayHardwareMock.Object);

            m_DataBuffer.Clear();

            result.ClearBlack();

            const int pixelPerByte = 8;
            var       displayBytes = result.Width / pixelPerByte * result.Height;

            const byte black           = 0x01;
            var        eightBlackPixel = result.MergePixelDataInByte(black, black, black, black, black, black, black, black);

            var validBuffer = new List <byte>
            {
                (byte)Epd7In5_V2Commands.DataStartTransmission2
            };

            for (int i = 0; i < displayBytes; i++)
            {
                validBuffer.Add(eightBlackPixel);
            }

            validBuffer.Add((byte)Epd7In5_V2Commands.DisplayRefresh);
            validBuffer.Add((byte)Epd7In5_V2Commands.GetStatus);

            Assert.IsTrue(m_DataBuffer.SequenceEqual(validBuffer), "Command Data Sequence is wrong");
        }
        public void TestMergePixelDataInByte()
        {
            using var result = new Epd7In5_V2();

            var random = new Random();

            for (int i = 0; i < 200; i++)
            {
                var value = random.Next(0, byte.MaxValue);
                var b1    = (value & 128) > 0 ? byte.MaxValue: byte.MinValue;
                var b2    = (value & 64) > 0 ? byte.MaxValue : byte.MinValue;
                var b3    = (value & 32) > 0 ? byte.MaxValue : byte.MinValue;
                var b4    = (value & 16) > 0 ? byte.MaxValue : byte.MinValue;
                var b5    = (value & 8) > 0 ? byte.MaxValue : byte.MinValue;
                var b6    = (value & 4) > 0 ? byte.MaxValue : byte.MinValue;
                var b7    = (value & 2) > 0 ? byte.MaxValue : byte.MinValue;
                var b8    = (value & 1) > 0 ? byte.MaxValue : byte.MinValue;

                var newResult = result.MergePixelDataInByte(b1, b2, b3, b4, b5, b6, b7, b8);

                Assert.AreEqual(value, newResult, $"Merged Byte Run {i} is wrong. Expected {value}, Returned {newResult}");
            }
        }