コード例 #1
0
        public void BinaryUDPPackageReaderTestMethod()
        {
            int           _port   = 35678;
            UInt32        _dataId = CommonDefinitions.DataSetId;
            List <string> _Events = new List <string>();

            using (BinaryUDPPackageReader _reader = new BinaryUDPPackageReader(_port, z => _Events.Add(z)))
            {
                Assert.IsNotNull(_reader);
                Assert.AreEqual <int>(0, _reader.m_NumberOfSentBytes);
                Assert.AreEqual <int>(0, _reader.m_NumberOfAttachToNetwork);
                Assert.AreEqual <int>(0, _reader.m_NumberOfSentMessages);
                Assert.AreEqual <HandlerState>(HandlerState.Disabled, _reader.State.State);
                _reader.AttachToNetwork();
                Assert.AreEqual <HandlerState>(HandlerState.Operational, _reader.State.State);
                Assert.AreEqual <int>(1, _reader.m_NumberOfAttachToNetwork);
                Assert.AreEqual <int>(0, _reader.m_NumberOfSentBytes);
                Assert.AreEqual <int>(0, _reader.m_NumberOfSentMessages);
                object[]             _buffer   = new object[CommonDefinitions.TestValues.Length];
                IConsumerBinding[]   _bindings = new IConsumerBinding[_buffer.Length];
                Action <object, int> _assign   = (x, y) => _buffer[y] = x;
                for (int i = 0; i < _buffer.Length; i++)
                {
                    _bindings[i] = new ConsumerBinding(i, _assign, Type.GetTypeCode(CommonDefinitions.TestValues[i].GetType()));
                }
                int _redItems = 0;
                _reader.ReadMessageCompleted += (x, y) => _reader_ReadMessageCompleted(x, y, _dataId, (z) => { _redItems++; return(_bindings[z]); }, _buffer.Length);
                _reader.SendUDPMessage(CommonDefinitions.GetTestBinaryArrayVariant(), _dataId, _port);
                Assert.AreEqual <int>(1, _reader.m_NumberOfAttachToNetwork);
                Assert.AreEqual <int>(116, _reader.m_NumberOfSentBytes);
                Assert.AreEqual <int>(1, _reader.m_NumberOfSentMessages);
                Thread.Sleep(1500);
                foreach (string _item in _Events)
                {
                    Console.WriteLine(_item);
                }
                //test packet content
                Assert.AreEqual <Guid>(CommonDefinitions.TestGuid, _reader.Header.PublisherId);
                Assert.AreEqual <byte>(MessageHandling.CommonDefinitions.ProtocolVersion, _reader.Header.ProtocolVersion);
                Assert.AreEqual <byte>(0, _reader.Header.NetworkMessageFlags);
                Assert.AreEqual <UInt32>(0, _reader.Header.SecurityTokenId);
                Assert.AreEqual <ushort>(1, _reader.Header.NonceLength);
                Assert.AreEqual <int>(1, _reader.Header.Nonce.Length);
                Assert.AreEqual <byte>(0xcc, _reader.Header.Nonce[0]);
                Assert.AreEqual <ushort>(1, _reader.Header.MessageCount);
                Assert.AreEqual <int>(1, _reader.Header.DataSetWriterIds.Count);
                Assert.AreEqual <UInt32>(CommonDefinitions.DataSetId, _reader.Header.DataSetWriterIds[0]);

                Assert.AreEqual <int>(_buffer.Length, _redItems);
                object[] _shouldBeInBuffer = CommonDefinitions.TestValues;
                Assert.AreEqual <int>(_shouldBeInBuffer.Length, _buffer.Length);
                Assert.AreEqual <string>(String.Join(",", _shouldBeInBuffer), String.Join(",", _buffer));
                Assert.AreEqual <byte>(1, _reader.Header.MessageCount);
                Assert.AreEqual <int>(3, _Events.Count);
            }
            Thread.Sleep(150);
            Assert.AreEqual <int>(3, _Events.Count);
        }
コード例 #2
0
        void AddConsumerBinding()
        {
            if (_consumer != null)
            {
                return;
            }

            _consumer = new ConsumerBinding(_address, _purgeExistingMessages);

            _connectionHandler.AddBinding(_consumer);
        }
コード例 #3
0
        public void BinaryUDPPackageReaderTestMethod()
        {
            int _port = 35678;
              UInt32 _dataId = CommonDefinitions.DataSetId;
              List<string> _Events = new List<string>();
              using (BinaryUDPPackageReader _reader = new BinaryUDPPackageReader(_port, z => _Events.Add(z)))
              {
            Assert.IsNotNull(_reader);
            Assert.AreEqual<int>(0, _reader.m_NumberOfSentBytes);
            Assert.AreEqual<int>(0, _reader.m_NumberOfAttachToNetwork);
            Assert.AreEqual<int>(0, _reader.m_NumberOfSentMessages);
            Assert.AreEqual<HandlerState>(HandlerState.Disabled, _reader.State.State);
            _reader.AttachToNetwork();
            Assert.AreEqual<HandlerState>(HandlerState.Operational, _reader.State.State);
            Assert.AreEqual<int>(1, _reader.m_NumberOfAttachToNetwork);
            Assert.AreEqual<int>(0, _reader.m_NumberOfSentBytes);
            Assert.AreEqual<int>(0, _reader.m_NumberOfSentMessages);
            object[] _buffer = new object[CommonDefinitions.TestValues.Length];
            IConsumerBinding[] _bindings = new IConsumerBinding[_buffer.Length];
            Action<object, int> _assign = (x, y) => _buffer[y] = x;
            for (int i = 0; i < _buffer.Length; i++)
              _bindings[i] = new ConsumerBinding(i, _assign, Type.GetTypeCode(CommonDefinitions.TestValues[i].GetType()));
            int _redItems = 0;
            _reader.ReadMessageCompleted += (x, y) => _reader_ReadMessageCompleted(x, y, _dataId, (z) => { _redItems++; return _bindings[z]; }, _buffer.Length);
            _reader.SendUDPMessage(CommonDefinitions.GetTestBinaryArrayVariant(), _dataId, _port);
            Assert.AreEqual<int>(1, _reader.m_NumberOfAttachToNetwork);
            Assert.AreEqual<int>(116, _reader.m_NumberOfSentBytes);
            Assert.AreEqual<int>(1, _reader.m_NumberOfSentMessages);
            Thread.Sleep(1500);
            foreach (string _item in _Events)
              Console.WriteLine(_item);
            //test packet content
            Assert.AreEqual<Guid>(CommonDefinitions.TestGuid, _reader.Header.PublisherId);
            Assert.AreEqual<byte>(MessageHandling.CommonDefinitions.ProtocolVersion, _reader.Header.ProtocolVersion);
            Assert.AreEqual<byte>(0, _reader.Header.NetworkMessageFlags);
            Assert.AreEqual<UInt32>(0, _reader.Header.SecurityTokenId);
            Assert.AreEqual<ushort>(1, _reader.Header.NonceLength);
            Assert.AreEqual<int>(1, _reader.Header.Nonce.Length);
            Assert.AreEqual<byte>(0xcc, _reader.Header.Nonce[0]);
            Assert.AreEqual<ushort>(1, _reader.Header.MessageCount);
            Assert.AreEqual<int>(1, _reader.Header.DataSetWriterIds.Count);
            Assert.AreEqual<UInt32>(CommonDefinitions.DataSetId, _reader.Header.DataSetWriterIds[0]);

            Assert.AreEqual<int>(_buffer.Length, _redItems);
            object[] _shouldBeInBuffer = CommonDefinitions.TestValues;
            Assert.AreEqual<int>(_shouldBeInBuffer.Length, _buffer.Length);
            Assert.AreEqual<string>(String.Join(",", _shouldBeInBuffer), String.Join(",", _buffer));
            Assert.AreEqual<byte>(1, _reader.Header.MessageCount);
            Assert.AreEqual<int>(3, _Events.Count);
              }
              Thread.Sleep(150);
              Assert.AreEqual<int>(3, _Events.Count);
        }
コード例 #4
0
        public void DataTransferTest()
        {
            uint _dataId = CommonDefinitions.DataSetId;
            BinaryDataTransferGraphReceiverFixture _BinaryDataTransferGraphReceiverFixture = new DTGFixture();

            using (BinaryDecoder _reader = new BinaryDecoder(_BinaryDataTransferGraphReceiverFixture, new Helpers.UABinaryDecoderImplementation()))
            {
                Assert.IsNotNull(_reader);
                Assert.AreEqual <int>(0, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentBytes);
                Assert.AreEqual <int>(0, _BinaryDataTransferGraphReceiverFixture.NumberOfAttachToNetwork);
                Assert.AreEqual <int>(0, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentMessages);
                Assert.AreEqual <HandlerState>(HandlerState.Disabled, _BinaryDataTransferGraphReceiverFixture.State.State);
                _reader.AttachToNetwork();
                _reader.State.Enable();
                Assert.AreEqual <HandlerState>(HandlerState.Operational, _BinaryDataTransferGraphReceiverFixture.State.State);
                Assert.AreEqual <int>(1, _BinaryDataTransferGraphReceiverFixture.NumberOfAttachToNetwork);
                Assert.AreEqual <int>(0, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentBytes);
                Assert.AreEqual <int>(0, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentMessages);
                object[]             _buffer   = new object[CommonDefinitions.TestValues.Length];
                IConsumerBinding[]   _bindings = new IConsumerBinding[_buffer.Length];
                Action <object, int> _assign   = (x, y) => _buffer[y] = x;
                for (int i = 0; i < _buffer.Length; i++)
                {
                    _bindings[i] = new ConsumerBinding(i, _assign, Type.GetTypeCode(CommonDefinitions.TestValues[i].GetType()));
                }
                int _redItems = 0;
                _reader.ReadMessageCompleted += (x, y) => _reader_ReadMessageCompleted(x, y, _dataId, (z) => { _redItems++; return(_bindings[z]); }, _buffer.Length);
                _BinaryDataTransferGraphReceiverFixture.SendUDPMessage(CommonDefinitions.GetTestBinaryArrayVariant(), _dataId);
                Assert.AreEqual <int>(1, _BinaryDataTransferGraphReceiverFixture.NumberOfAttachToNetwork);
                Assert.AreEqual <int>(116, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentBytes);
                Assert.AreEqual <int>(1, _BinaryDataTransferGraphReceiverFixture.m_NumberOfSentMessages);
                //test packet content
                PacketHeader _readerHeader = _reader.Header;
                Assert.AreEqual <Guid>(CommonDefinitions.TestGuid, _readerHeader.PublisherId);
                Assert.AreEqual <byte>(MessageHandling.CommonDefinitions.ProtocolVersion, _readerHeader.ProtocolVersion);
                Assert.AreEqual <byte>(0, _readerHeader.NetworkMessageFlags);
                Assert.AreEqual <uint>(0, _readerHeader.SecurityTokenId);
                Assert.AreEqual <ushort>(1, _readerHeader.NonceLength);
                Assert.AreEqual <int>(1, _readerHeader.Nonce.Length);
                Assert.AreEqual <byte>(0xcc, _readerHeader.Nonce[0]);
                Assert.AreEqual <ushort>(1, _readerHeader.MessageCount);
                Assert.AreEqual <int>(1, _readerHeader.DataSetWriterIds.Count);
                Assert.AreEqual <uint>(CommonDefinitions.DataSetId, _readerHeader.DataSetWriterIds[0]);
                Assert.AreEqual <int>(_buffer.Length, _redItems);
                object[] _shouldBeInBuffer = CommonDefinitions.TestValues;
                Assert.AreEqual <int>(_shouldBeInBuffer.Length, _buffer.Length);
                Assert.AreEqual <string>(string.Join(",", _shouldBeInBuffer), string.Join(",", _buffer));
                Assert.AreEqual <byte>(1, _readerHeader.MessageCount);
            }
        }
コード例 #5
0
        public void TestMethod1()
        {
            ConsumerBinding <int> _nb = new ConsumerBinding <int>(x => { }, new UATypeInfo(BuiltInType.Null));

            Assert.IsNotNull(_nb);
        }
コード例 #6
0
 public void TestMethod1()
 {
     ConsumerBinding<int> _nb = new ConsumerBinding<int>(x => { }, new UATypeInfo(BuiltInType.Null));
       Assert.IsNotNull(_nb);
 }