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 Parse() { ParserContext parserContext = new ParserContext( ParserContext.DefaultBufferSize); BitMapFieldFormatter bitmapFormatter = new BitMapFieldFormatter( 0, 1, 64, HexadecimalBinaryEncoder.GetInstance()); BitMapField bitmap = ( BitMapField)bitmapFormatter.Parse( ref parserContext); Assert.IsNull(bitmap); parserContext.Write("12082020"); bitmap = ( BitMapField)bitmapFormatter.Parse(ref parserContext); Assert.IsTrue(parserContext.DataLength == 8); Assert.IsNull(bitmap); parserContext.Write("10CA118"); bitmap = ( BitMapField)bitmapFormatter.Parse(ref parserContext); Assert.IsTrue(parserContext.DataLength == 15); Assert.IsNull(bitmap); parserContext.Write("3"); bitmap = ( BitMapField)bitmapFormatter.Parse(ref parserContext); Assert.IsTrue(parserContext.DataLength == 0); Assert.IsNotNull(bitmap); byte[] referenceBitmap = { 0x12, 0x08, 0x20, 0x20, 0x10, 0xCA, 0x11, 0x83 }; byte[] bitmapValue = bitmap.GetBytes(); for (int i = 0; i < bitmapValue.Length; i++) { Assert.IsTrue(bitmapValue[i] == referenceBitmap[i]); } }
public void SetValue() { BitMapField bitmap = new BitMapField( 0, 1, 64); bitmap.SetFieldValue( firstBitmap); for ( int i = 0; i < firstFields.Length; i++) { Assert.IsTrue( bitmap.IsSet( firstFields[i])); } }
public void NewComponent() { BitMapField field = new BitMapField( 1, 65, 128); MessagingComponent component = field.NewComponent(); Assert.IsTrue( component is BitMapField); Assert.IsTrue( field.FieldNumber == ( ( BitMapField)component).FieldNumber); }
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 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 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])); } }
public void Constructors() { BitMapField bitmap = new BitMapField( 0, 1, 64); Assert.IsTrue( bitmap.FieldNumber == 0); Assert.IsTrue( bitmap.LowerFieldNumber == 1); Assert.IsTrue( bitmap.UpperFieldNumber == 64); Assert.IsTrue( bitmap.GetBytes().Length == 8); byte[] bytes = ( byte[])bitmap.Value; for ( int i = 0; i < bytes.Length; i++) { Assert.IsTrue( bytes[i] == 0); } bitmap = new BitMapField( 0, 1, 64, firstBitmap); bytes = ( byte[])bitmap.Value; for ( int i = 0; i < firstBitmap.Length; i++) { Assert.IsTrue( bytes[i] == firstBitmap[i]); } bitmap = new BitMapField( 1, bitmap); Assert.IsTrue( bitmap.FieldNumber == 1); Assert.IsTrue( bitmap.LowerFieldNumber == 1); Assert.IsTrue( bitmap.UpperFieldNumber == 64); Assert.IsTrue( bitmap.GetBytes().Length == 8); bytes = ( byte[])bitmap.Value; for ( int i = 0; i < bytes.Length; i++) { Assert.IsTrue( bytes[i] == firstBitmap[i]); } bitmap = new BitMapField( 65, 129, 150); Assert.IsTrue( bitmap.FieldNumber == 65); Assert.IsTrue( bitmap.LowerFieldNumber == 129); Assert.IsTrue( bitmap.UpperFieldNumber == 150); Assert.IsTrue( bitmap.GetBytes().Length == 3); bytes = ( byte[])bitmap.Value; for ( int i = 0; i < bytes.Length; i++) { Assert.IsTrue( bytes[i] == 0); } bitmap = new BitMapField( 0, 30, 30); Assert.IsTrue( bitmap.FieldNumber == 0); Assert.IsTrue( bitmap.LowerFieldNumber == 30); Assert.IsTrue( bitmap.UpperFieldNumber == 30); Assert.IsTrue( bitmap.GetBytes().Length == 1); bitmap = new BitMapField( 0, 1, 65); Assert.IsTrue( bitmap.FieldNumber == 0); Assert.IsTrue( bitmap.LowerFieldNumber == 1); Assert.IsTrue( bitmap.UpperFieldNumber == 65); Assert.IsTrue( bitmap.GetBytes().Length == 9); try { bitmap = new BitMapField( 65, 150, 129); Assert.Fail(); } catch ( ArgumentOutOfRangeException e) { Assert.IsTrue( e.ParamName.Equals( "lowerFieldNumber")); } try { bitmap = new BitMapField( 0, 1, 64, secondBitmap); Assert.Fail(); } catch ( ArgumentException e) { Assert.IsTrue( e.ParamName.Equals( "value")); } }