public void Set() { BitMapField bitmap = new BitMapField( 0, 1, 64); for ( int i = 0; i < firstFields.Length; i++) { bitmap.Set( firstFields[i], true); } byte[] bitmapBytes = bitmap.GetBytes(); for ( int i = 0; i < firstBitmap.Length; i++) { Assert.IsTrue( bitmapBytes[i] == firstBitmap[i]); } bitmap = new BitMapField( 0, 22, 48); for ( int i = 0; i < secondFields.Length; i++) { bitmap.Set( secondFields[i], true); } bitmapBytes = ( byte[])bitmap.Value; for ( int i = 0; i < secondBitmap.Length; i++) { Assert.IsTrue( bitmapBytes[i] == secondBitmap[i]); } try { bitmap.Set( 49, true); Assert.Fail(); } catch ( ArgumentOutOfRangeException e) { Assert.IsTrue( e.ParamName.Equals( "fieldNumber")); } }
public void SetAndIsSet() { BitMapField bitmap = new BitMapField( 0, 22, 48); bitmap.Set( 25, true); Assert.IsTrue( bitmap.IsSet( 25)); bitmap.Set( 25, false); Assert.IsFalse( bitmap.IsSet( 25)); Assert.IsFalse( bitmap.IsSet( 30)); bitmap.Set( 30, true); Assert.IsTrue( bitmap.IsSet( 30)); Assert.IsFalse( bitmap.IsSet( 31)); bitmap.Set( 31, true); Assert.IsTrue( bitmap.IsSet( 30)); Assert.IsTrue( bitmap.IsSet( 31)); }
public void Clear() { BitMapField bitmap = new BitMapField( 0, 1, 64); for ( int i = 0; i < firstFields.Length; i++) { bitmap.Set( firstFields[i], true); } bitmap.Clear(); for ( int i = bitmap.LowerFieldNumber; i <= bitmap.UpperFieldNumber; i++) { Assert.IsFalse( bitmap.IsSet( i)); } }
public void GetBytes() { BitMapField bitmap = new BitMapField( 0, 1, 64); for ( int i = 0; i < firstFields.Length; i++) { bitmap.Set( firstFields[i], true); } byte[] bytes = bitmap.GetBytes(); Assert.IsTrue( bytes.Length == firstBitmap.Length); for ( int i = 0; i < bytes.Length; i++) { Assert.IsTrue( bytes[i] == firstBitmap[i]); } }
public void TestClone() { BitMapField bitmap = new BitMapField( 0, 1, 64); for ( int i = 0; i < firstFields.Length; i++) { bitmap.Set( firstFields[i], true); } BitMapField clonedBitmap = ( BitMapField)( bitmap.Clone()); Assert.IsTrue( bitmap.FieldNumber == clonedBitmap.FieldNumber); byte[] firstBitmapBytes = bitmap.GetBytes(); byte[] clonedBitmapBytes = clonedBitmap.GetBytes(); for ( int i = 0; i < firstBitmapBytes.Length; i++) { Assert.IsTrue( firstBitmapBytes[i] == clonedBitmapBytes[i]); } }
public void Format() { FormatterContext formatterContext = new FormatterContext( FormatterContext.DefaultBufferSize); BitMapField bitmap = new BitMapField(0, 1, 64); BitMapFieldFormatter bitmapFormatter = new BitMapFieldFormatter( 0, 1, 64, HexadecimalBinaryEncoder.GetInstance()); bitmapFormatter.Format(bitmap, ref formatterContext); Assert.IsTrue(formatterContext.GetDataAsString().Equals( "0000000000000000")); formatterContext.Clear(); int[] fields = { 4, 7, 13, 19, 27, 36, 41, 42, 45, 47, 52, 56, 57, 63, 64 }; for (int i = 0; i < fields.Length; i++) { bitmap.Set(fields[i], true); } bitmapFormatter.Format(bitmap, ref formatterContext); Assert.IsTrue(formatterContext.GetDataAsString().Equals( "1208202010CA1183")); }
public void IsSet() { BitMapField bitmap = new BitMapField( 0, 1, 64); for ( int i = bitmap.LowerFieldNumber; i <= bitmap.UpperFieldNumber; i++) { Assert.IsFalse( bitmap.IsSet( i)); } for ( int i = 0; i < firstFields.Length; i++) { bitmap.Set( firstFields[i], true); } for ( int i = 0; i < firstFields.Length; i++) { Assert.IsTrue( bitmap.IsSet( firstFields[i])); } bitmap = new BitMapField( 0, 22, 48); for ( int i = bitmap.LowerFieldNumber; i <= bitmap.UpperFieldNumber; i++) { Assert.IsFalse( bitmap.IsSet( i)); } for ( int i = 0; i < secondFields.Length; i++) { bitmap.Set( secondFields[i], true); } for ( int i = 0; i < secondFields.Length; i++) { Assert.IsTrue( bitmap.IsSet( secondFields[i])); } }