public void CreateInstanceFromBuffer()
        {
            var ranges    = new ColorRangeTable();
            var newRanges = new ColorRangeTable(ranges.Serialize());

            this.CheckDefaultRangeTable(newRanges);
        }
        public void AreEqual()
        {
            var a = new ColorRangeTable();
            var b = new ColorRangeTable();

            Assert.AreEqual(a, b);
        }
        void CheckDefaultRangeTable(ColorRangeTable table)
        {
            byte startIndex = 0;

            for (int i = 0; i < ColorRangeTable.LENGTH; i++)
            {
                startIndex = this.CheckDefaultRange(table[i], startIndex);
            }
        }
        public void ReadByIndex()
        {
            var a = new ColorRangeTable();
            var b = new ColorRangeTable();

            for (int i = 0; i < ColorRangeTable.LENGTH; i++)
            {
                Assert.AreEqual(a[i], b[i]);
            }
        }
        public void ReadByForEach()
        {
            var a = new ColorRangeTable();
            var b = new ColorRangeTable();
            int i = 0;

            foreach (ColorRange range in b)
            {
                Assert.AreEqual(a[i++], range);
            }
        }
        public void AreNotEqual()
        {
            var  a          = new ColorRangeTable();
            var  b          = new ColorRangeTable();
            byte startIndex = 64;

            for (int i = 0; i < ColorRangeTable.LENGTH; i++)
            {
                b[i] = new ColorRange(ref startIndex);
            }

            Assert.AreNotEqual(a, b);
        }
        public void WriteByIndex()
        {
            var  a          = new ColorRangeTable();
            byte startIndex = 0;

            for (int i = 0; i < ColorRangeTable.LENGTH; i++)
            {
                a[i] = new ColorRange(ref startIndex);
            }

            var b = new ColorRangeTable();

            for (int i = 0; i < ColorRangeTable.LENGTH; i++)
            {
                Assert.AreEqual(a[i], b[i]);
            }
        }
 public void FailReadByIndex()
 {
     Assert.ThrowsException <IndexOutOfRangeException>(() => _ = new ColorRangeTable()[-1]);
     Assert.ThrowsException <IndexOutOfRangeException>(() => _ = new ColorRangeTable()[ColorRangeTable.LENGTH + 1]);
 }
        public void CreateDefaultInstance()
        {
            var ranges = new ColorRangeTable();

            this.CheckDefaultRangeTable(ranges);
        }
 public void Serialize()
 {
     byte[] data = new ColorRangeTable().Serialize();
     Assert.AreEqual(ColorRangeTable.SIZE, data.Length);
 }