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)); } } }
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]); } }
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++; } }
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); } } }