Exemplo n.º 1
0
        public void BitFieldBoolConversionTest()
        {
            var test1 = BitFieldBoolean <byte> .MakeFromBitmask(0b1000_0000);

            BitField <bool, byte> test2 = test1;

            test1.Bitmask.ShouldBe(test2.Bitmask);

            BitFieldBoolean <byte> test3 = test2;

            test2.Bitmask.ShouldBe(test3.Bitmask);
            test1.Bitmask.ShouldBe(test2.Bitmask);
        }
Exemplo n.º 2
0
        public void BitFieldBoolLsbTest()
        {
            var test = new BitFieldBoolean <byte>(0);

            test.Bitmask.ShouldBe <byte>(0b0000_0001);

            test.Decode(0b1111_1111).ShouldBe <bool>(true);
            test.HasFlag(0b1111_1111).ShouldBe(true);

            test.Decode(0b0000_1111).ShouldBe <bool>(true);
            test.HasFlag(0b0000_1111).ShouldBe(true);

            test.Decode(0b1111_1110).ShouldBe <bool>(false);
            test.HasFlag(0b1111_1110).ShouldBe(false);

            test.Encode(false, 0b1111_1111).ShouldBe <byte>(0b1111_1110);
            test.Encode(true, 0b0000_0000).ShouldBe <byte>(0b0000_0001);
            test.Encode(true, 0b1111_1111).ShouldBe <byte>(0b1111_1111);
            test.Encode(true, 0b1111_0000).ShouldBe <byte>(0b1111_0001);
        }