public void SendTestMethod()
        {
            TypesMessageWriter _bmw = new TypesMessageWriter();

            _bmw.AttachToNetwork();
            Assert.IsTrue(_bmw.State.State == HandlerState.Operational);
            ProducerBinding _binding = new ProducerBinding
            {
                Value = string.Empty
            };
            int _sentItems = 0;

            ((IMessageWriter)_bmw).Send((x) => { _binding.Value = CommonDefinitions.TestValues[x]; _sentItems++; return(_binding); },
                                        Convert.ToUInt16(CommonDefinitions.TestValues.Length),
                                        ulong.MaxValue,
                                        FieldEncodingEnum.VariantFieldEncoding,
                                        TestDataSelector,
                                        0,
                                        DateTime.UtcNow,
                                        new ConfigurationVersionDataType()
            {
                MajorVersion = 0, MinorVersion = 0
            }
                                        );
            Assert.AreEqual(CommonDefinitions.TestValues.Length, _sentItems);
        }
 public IProducerBinding GetProducerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo)
 {
     if (repositoryGroup == "ProducerBinding")
     {
         Assert.AreEqual <BuiltInType>(BuiltInType.String, fieldTypeInfo.BuiltInType);
         ProducerBinding <string> _ret = new ProducerBinding <string>("ProducerBinding._value", () => _value.Value, new UATypeInfo(fieldTypeInfo.BuiltInType));
         _value.PropertyChanged += (x, y) => _ret.OnNewValue();
         return(_ret);
     }
     throw new ArgumentOutOfRangeException("repositoryGroup");
 }
예제 #3
0
        void AddProducerBinding()
        {
            if (_producer != null)
            {
                return;
            }

            _producer = new ProducerBinding(_address, _bindToQueue, _publisherConfirmSettings);

            _connectionHandler.AddBinding(_producer);
        }
예제 #4
0
        public void NullableTestMethod()
        {
            TypesMessageWriter _bmw = new TypesMessageWriter();

            _bmw.AttachToNetwork();
            Assert.IsTrue(_bmw.State.State == HandlerState.Operational);
            ProducerBinding _binding = new ProducerBinding(BuiltInType.Float);

            _binding.Value = new Nullable <float>();
            ((IMessageWriter)_bmw).Send(x => _binding, 1, UInt64.MaxValue, FieldEncodingEnum.VariantFieldEncoding, TestDataSelector, 0, DateTime.UtcNow, new ConfigurationVersionDataType()
            {
                MajorVersion = 0, MinorVersion = 0
            });
        }
예제 #5
0
        public void ObjectTestMethod()
        {
            TypesMessageWriter _bmw = new TypesMessageWriter();

            _bmw.AttachToNetwork();
            ProducerBinding _binding = new ProducerBinding();

            _binding.Value = new TestClass();
            ((IMessageWriter)_bmw).Send(x => _binding, 1, UInt64.MaxValue, FieldEncodingEnum.VariantFieldEncoding, TestDataSelector, 0, DateTime.UtcNow,
                                        new ConfigurationVersionDataType()
            {
                MajorVersion = 0, MinorVersion = 0
            });
        }
예제 #6
0
        public void BinaryUDPPackageWriterTestMethod()
        {
            int _port = 35678;

            using (BinaryUDPPackageWriter _writer = new BinaryUDPPackageWriter("localhost", _port, new Helpers.UABinaryEncoderImplementation()))
            {
                Assert.AreEqual <int>(0, _writer.m_NumberOfSentBytes);
                Assert.AreEqual <int>(0, _writer.m_NumberOfAttachToNetwork);
                Assert.AreEqual <int>(0, _writer.m_NumberOfSentMessages);
                Assert.AreEqual <HandlerState>(HandlerState.Disabled, _writer.State.State);
                _writer.AttachToNetwork();
                Assert.AreEqual <HandlerState>(HandlerState.Operational, _writer.State.State);
                Assert.AreEqual <int>(1, _writer.m_NumberOfAttachToNetwork);
                Assert.AreEqual <int>(0, _writer.m_NumberOfSentBytes);
                Assert.AreEqual <int>(0, _writer.m_NumberOfSentMessages);
                ProducerBinding _binding = new ProducerBinding()
                {
                    Value = String.Empty
                };
                int          _sentItems        = 0;
                Guid         m_Guid            = CommonDefinitions.TestGuid;
                DataSelector _testDataSelector = new DataSelector()
                {
                    DataSetWriterId = CommonDefinitions.DataSetId, PublisherId = CommonDefinitions.TestGuid
                };
                ((IMessageWriter)_writer).Send((x) => { _binding.Value = CommonDefinitions.TestValues[x]; _sentItems++; return(_binding); },
                                               Convert.ToUInt16(CommonDefinitions.TestValues.Length),
                                               UInt64.MaxValue,
                                               FieldEncodingEnum.VariantFieldEncoding,
                                               _testDataSelector,
                                               0,
                                               CommonDefinitions.TestMinimalDateTime, new ConfigurationVersionDataType()
                {
                    MajorVersion = 0, MinorVersion = 0
                }
                                               );
                Assert.AreEqual(CommonDefinitions.TestValues.Length, _sentItems);
                Assert.AreEqual <int>(1, _writer.m_NumberOfAttachToNetwork);
                Assert.AreEqual <int>(115, _writer.m_NumberOfSentBytes);
                Assert.AreEqual <int>(1, _writer.m_NumberOfSentMessages);
                byte[] _shouldBeInBuffer = CommonDefinitions.GetTestBinaryArrayVariant4Consumer();
                byte[] _outputBuffer     = _writer.DoUDPRead();
                CollectionAssert.AreEqual(_outputBuffer, _shouldBeInBuffer);
            }
        }
예제 #7
0
 public void SendTestMethod()
 {
     TypesMessageWriter _bmw = new TypesMessageWriter();
       _bmw.AttachToNetwork();
       Assert.IsTrue(_bmw.State.State == HandlerState.Operational);
       ProducerBinding _binding = new ProducerBinding();
       _binding.Value = String.Empty;
       int _sentItems = 0;
       ((IMessageWriter)_bmw).Send((x) => { _binding.Value = CommonDefinitions.TestValues[x]; _sentItems++; return _binding; },
                            Convert.ToUInt16(CommonDefinitions.TestValues.Length),
                            UInt64.MaxValue,
                            FieldEncodingEnum.VariantFieldEncoding,
                            TestDataSelector,
                            0,
                            DateTime.UtcNow,
                            new ConfigurationVersionDataType() { MajorVersion = 0, MinorVersion = 0 }
                            );
       Assert.AreEqual(CommonDefinitions.TestValues.Length, _sentItems);
 }
예제 #8
0
 public void ObjectTestMethod()
 {
     TypesMessageWriter _bmw = new TypesMessageWriter();
       _bmw.AttachToNetwork();
       ProducerBinding _binding = new ProducerBinding();
       _binding.Value = new TestClass();
       ((IMessageWriter)_bmw).Send(x => _binding, 1, UInt64.MaxValue, FieldEncodingEnum.VariantFieldEncoding, TestDataSelector, 0, DateTime.UtcNow,
     new ConfigurationVersionDataType() { MajorVersion = 0, MinorVersion = 0 });
 }
예제 #9
0
 public void NullableTestMethod()
 {
     TypesMessageWriter _bmw = new TypesMessageWriter();
       _bmw.AttachToNetwork();
       Assert.IsTrue(_bmw.State.State == HandlerState.Operational);
       ProducerBinding _binding = new ProducerBinding(BuiltInType.Float);
       _binding.Value = new Nullable<float>();
       ((IMessageWriter)_bmw).Send(x => _binding, 1, UInt64.MaxValue, FieldEncodingEnum.VariantFieldEncoding, TestDataSelector, 0, DateTime.UtcNow, new ConfigurationVersionDataType() { MajorVersion = 0, MinorVersion = 0 });
 }
예제 #10
0
 public void BinaryUDPPackageWriterTestMethod()
 {
     int _port = 35678;
       using (BinaryUDPPackageWriter _writer = new BinaryUDPPackageWriter("localhost", _port, new Helpers.UABinaryEncoderImplementation()))
       {
     Assert.AreEqual<int>(0, _writer.m_NumberOfSentBytes);
     Assert.AreEqual<int>(0, _writer.m_NumberOfAttachToNetwork);
     Assert.AreEqual<int>(0, _writer.m_NumberOfSentMessages);
     Assert.AreEqual<HandlerState>(HandlerState.Disabled, _writer.State.State);
     _writer.AttachToNetwork();
     Assert.AreEqual<HandlerState>(HandlerState.Operational, _writer.State.State);
     Assert.AreEqual<int>(1, _writer.m_NumberOfAttachToNetwork);
     Assert.AreEqual<int>(0, _writer.m_NumberOfSentBytes);
     Assert.AreEqual<int>(0, _writer.m_NumberOfSentMessages);
     ProducerBinding _binding = new ProducerBinding() { Value = String.Empty };
     int _sentItems = 0;
     Guid m_Guid = CommonDefinitions.TestGuid;
     DataSelector _testDataSelector = new DataSelector() { DataSetWriterId = CommonDefinitions.DataSetId, PublisherId = CommonDefinitions.TestGuid  };
     ((IMessageWriter)_writer).Send((x) => { _binding.Value = CommonDefinitions.TestValues[x]; _sentItems++; return _binding; },
                                 Convert.ToUInt16(CommonDefinitions.TestValues.Length),
                                 UInt64.MaxValue,
                                 FieldEncodingEnum.VariantFieldEncoding,
                                 _testDataSelector,
                                 0,
                                 CommonDefinitions.TestMinimalDateTime, new ConfigurationVersionDataType() { MajorVersion = 0, MinorVersion = 0 }
                                );
     Assert.AreEqual(CommonDefinitions.TestValues.Length, _sentItems);
     Assert.AreEqual<int>(1, _writer.m_NumberOfAttachToNetwork);
     Assert.AreEqual<int>(115, _writer.m_NumberOfSentBytes);
     Assert.AreEqual<int>(1, _writer.m_NumberOfSentMessages);
     byte[] _shouldBeInBuffer = CommonDefinitions.GetTestBinaryArrayVariant4Consumer();
     byte[] _outputBuffer = _writer.DoUDPRead();
     CollectionAssert.AreEqual(_outputBuffer, _shouldBeInBuffer);
       }
 }