Beispiel #1
0
        public void BitIsSetWorks()
        {
            ISOFieldBitmap bitmap = new ISOFieldBitmap(new Microsoft.Extensions.Logging.Abstractions.NullLogger <BitmapTests>());

            bitmap.SetBit(0);
            bitmap.SetBit(1);
            bitmap.SetBit(2);
            bitmap.SetBit(8);
            bitmap.SetBit(12);
            bitmap.SetBit(34);
            bitmap.SetBit(62);

            for (int i = 0; i < 128; i++)
            {
                if (i == 0 || i == 1 || i == 2 || i == 8 || i == 12 || i == 34 || i == 62)
                {
                    Assert.True(bitmap.BitIsSet(i));
                }
                else
                {
                    Assert.False(bitmap.BitIsSet(i));
                }
            }
        }
Beispiel #2
0
        public void GetSetFieldsWorks()
        {
            ISOFieldBitmap bitmap = new ISOFieldBitmap(new Microsoft.Extensions.Logging.Abstractions.NullLogger <BitmapTests>());

            bitmap.SetBit(0);
            bitmap.SetBit(2);
            bitmap.SetBit(3);
            bitmap.SetBit(4);
            bitmap.SetBit(7);
            bitmap.SetBit(11);
            bitmap.SetBit(12);
            bitmap.SetBit(14);
            bitmap.SetBit(18);
            bitmap.SetBit(19);
            bitmap.SetBit(22);
            bitmap.SetBit(25);
            bitmap.SetBit(37);

            //Collect status of all fields using BitIsSet
            bool[] fieldsOld = new bool[196];
            int    length    = bitmap.GetByteArray().Length * 8;

            for (int i = 0; i < length; i++)
            {
                if (i != 1 && i != 65)
                {
                    fieldsOld[i] = bitmap.BitIsSet(i);
                }
            }

            //Collect status of all fields using GetSetFields
            bool[] fields    = new bool[196];
            var    setFields = bitmap.GetSetFields();

            for (int i = 0; i < setFields.Length; i++)
            {
                fields[setFields[i]] = true;
            }

            //Check if same
            for (int i = 1; i < 196; i++)
            {
                Assert.Equal(fieldsOld[i], fields[i]);
            }
        }
Beispiel #3
0
        public void BitmapEnumeratorWorks()
        {
            ISOFieldBitmap bitmap = new ISOFieldBitmap(new Microsoft.Extensions.Logging.Abstractions.NullLogger <BitmapTests>());

            bitmap.SetBit(0);
            bitmap.SetBit(1);
            bitmap.SetBit(2);
            bitmap.SetBit(8);
            bitmap.SetBit(12);
            bitmap.SetBit(34);
            bitmap.SetBit(62);

            int i = 0;

            foreach (var item in bitmap.GetByteArray().GetBitEnumerator())
            {
                if (i != 1 && i != 65)
                {
                    Assert.Equal(bitmap.BitIsSet(i), item);
                }
                i++;
            }
        }
Beispiel #4
0
        public void BitmapFieldEnumeratorWorks()
        {
            ISOFieldBitmap bitmap = new ISOFieldBitmap(new Microsoft.Extensions.Logging.Abstractions.NullLogger <BitmapTests>());

            bitmap.SetBit(0);
            bitmap.SetBit(1);
            bitmap.SetBit(2);
            bitmap.SetBit(8);
            bitmap.SetBit(12);
            bitmap.SetBit(34);
            bitmap.SetBit(62);

            var setFields = bitmap.GetByteArray().GetFieldIdEnumerator().ToList();
            int length    = bitmap.GetByteArray().Length;

            for (int i = 0; i < length; i++)
            {
                if (i != 1 && i != 65)
                {
                    bool fieldExists = setFields.Exists(field => field == i);
                    Assert.Equal(bitmap.BitIsSet(i), fieldExists);
                }
            }
        }