using ICD.Common.Utils.Extensions; using NUnit.Framework; namespace ICD.Common.Utils.Tests.Extensions { [TestFixture] public sealed class ByteExtensionsTest { [TestCase(false, 0, 0)] [TestCase(true, 1, 0)] [TestCase(false, 247, 3)] [TestCase(true, 255, 3)] public void GetBitTest(bool expected, byte value, int index) { Assert.AreEqual(expected, value.GetBit(index)); } [TestCase(1, 0, 0, true)] [TestCase(0, 1, 0, false)] [TestCase(247, 255, 3, false)] [TestCase(255, 247, 3, true)] public void SetBitTest(byte expected, byte value, int index, bool bitValue) { Assert.AreEqual(expected, value.SetBit(index, bitValue)); } [TestCase(1, 0, 0)] [TestCase(1, 1, 0)] [TestCase(255, 247, 3)] public void SetBitOnTest(byte expected, byte value, int index) { Assert.AreEqual(expected, value.SetBitOn(index)); } [TestCase(0, 0, 0)] [TestCase(0, 1, 0)] [TestCase(247, 255, 3)] public void SetBitOffTest(byte expected, byte value, int index) { Assert.AreEqual(expected, value.SetBitOff(index)); } } }