Пример #1
0
        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]);
            }
        }
Пример #3
0
 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]));
     }
 }
Пример #4
0
        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);
        }
Пример #5
0
 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));
     }
 }
Пример #6
0
        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]);
            }
        }
Пример #7
0
        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]);
            }
        }
Пример #8
0
 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"));
        }
Пример #10
0
        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]));
            }
        }
Пример #11
0
        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"));
            }
        }