private void ReadValueVariant(IConsumerBinding consumerBinding) { IVariant _ret = m_UADecoder.ReadVariant(this); AssertTypeMach(_ret.UATypeInfo, consumerBinding.Encoding); consumerBinding.Assign2Repository(_ret.Value); }
public void GetConsumerBindingSerializationTest() { using (AzureGatewaySemanticEventSource log = AzureGatewaySemanticEventSource.Log()) using (EventListener lisner = new EventListener()) { //setup log instrumentation List <EventWrittenEventArgs> eventsList = new List <EventWrittenEventArgs>(); lisner.EventWritten += (source, entry) => eventsList.Add(entry); Assert.AreEqual <int>(0, eventsList.Count); lisner.EnableEvents(log, EventLevel.LogAlways, EventKeywords.All); PartBindingFactory newInstance = new PartBindingFactory(); string repositoryName = "RepositoryGroup -tHttp1 -dAzureDeviceId -sAzureScopeId -pAzurePrimaryKey -kAzureSecondaryKey -i2000"; IConsumerBinding binding = newInstance.GetConsumerBinding(repositoryName, "processValueName", new UATypeInfo(BuiltInType.String)); Assert.IsNotNull(binding); binding.Assign2Repository("New value"); string dto = newInstance.GetDTO(repositoryName); Debug.Write(dto); Assert.AreEqual <int>(32, dto.Length); Assert.AreEqual <string>("{\"processValueName\":\"New value\"}", dto); Assert.AreEqual <int>(2, eventsList.Count); EventWrittenEventArgs eventArgs = eventsList[0]; Assert.AreEqual <string>(nameof(AzureGatewaySemanticEventSource.EnteringMethodBinding), eventArgs.EventName); Assert.AreEqual <string>("Entering method PartBindingFactory.GetConsumerBinding", String.Format(eventArgs.Message, eventArgs.Payload.Select <object, string>(x => x.ToString()).ToArray <string>())); eventArgs = eventsList[1]; Assert.AreEqual <string>(nameof(AzureGatewaySemanticEventSource.EnteringMethodBinding), eventArgs.EventName); Assert.AreEqual <string>("Entering method PartBindingFactory.GetDTO", String.Format(eventArgs.Message, eventArgs.Payload.Select <object, string>(x => x.ToString()).ToArray <string>())); } }
public void UpdateMyValues(Func <int, IConsumerBinding> update, int length) { for (int i = 0; i < length; i++) { IConsumerBinding _bind = update(i); _bind.Assign2Repository(m_Message[i]); } }
public void DataRepositoryTestMethod() { DataRepository _rpo = new DataRepository(); IConsumerBinding _nb = _rpo.GetConsumerBinding(String.Empty, DataRepository.name, new UATypeInfo(BuiltInType.String)); Assert.IsNotNull(_nb); Assert.IsNotNull(_nb.Encoding); _nb.Converter = null; Assert.AreEqual <BuiltInType>(BuiltInType.String, _nb.Encoding.BuiltInType); string _testValue = "123wjkqjwkqjwjqjwqwjwqkwqjw"; _nb.Assign2Repository(_testValue); Assert.AreEqual <string>(_testValue, _rpo.Buffer); }
public void ToStringCLRArrayRankErrorTestMethod() { ConsumerBindingMonitoredValue <Int32[, , ]> _binding = new ConsumerBindingMonitoredValue <int[, , ]>(new UATypeInfo(BuiltInType.Int32, 0, new int[] { int.MaxValue, int.MaxValue, int.MaxValue })); string _name = String.Empty; _binding.PropertyChanged += (sender, e) => _name = e.PropertyName; Assert.IsNotNull(_binding); IConsumerBinding _bindingInterface = _binding; Array _newValue = new int[, ] { { 1, 2 }, { 3, 4 } }; _bindingInterface.Assign2Repository(_newValue); }
public void RecordingRepositoryTestMethod() { RecordingRepository _rpo = new RecordingRepository(); IConsumerBinding _nb = _rpo.GetConsumerBinding(String.Empty, DataRepository.name, new UATypeInfo(BuiltInType.String)); Assert.IsNotNull(_nb); Assert.IsNotNull(_nb.Encoding); _nb.Converter = new DateFormatter(); Assert.AreEqual <BuiltInType>(BuiltInType.String, _nb.Encoding.BuiltInType); DateTime _dt = new DateTime(2008, 2, 5); Recording _testValue = new Recording("Chris Sells", "Chris Sells Live", _dt); _nb.Assign2Repository(_testValue); Assert.AreEqual <string>(_dt.ToString(CultureInfo.InvariantCulture), _rpo.Buffer); }
public void ToStringCLRArrayTestMethod() { ConsumerBindingMonitoredValue <Int32[]> _binding = new ConsumerBindingMonitoredValue <int[]>(new UATypeInfo(BuiltInType.Int32, 1)); string _name = String.Empty; _binding.PropertyChanged += (sender, e) => _name = e.PropertyName; Assert.IsNotNull(_binding); IConsumerBinding _bindingInterface = _binding; Array _newValue = new int[] { 1234567, 7654321 }; _bindingInterface.Assign2Repository(_newValue); CollectionAssert.AreEqual(_newValue, _binding.Value); Assert.AreEqual <string>(@"Array Rank=1 Values [1234567, 7654321]", _binding.ToString()); Assert.AreEqual <string>("Value", _name); }
public void ToStringScalarTestMethod() { ConsumerBindingMonitoredValue <Int32> _binding = new ConsumerBindingMonitoredValue <int>(new UATypeInfo(BuiltInType.Int32)); string _name = String.Empty; _binding.PropertyChanged += (sender, e) => _name = e.PropertyName; Assert.IsNotNull(_binding); IConsumerBinding _bindingInterface = _binding; const int _newValue = 1234567; _bindingInterface.Assign2Repository(_newValue); Assert.AreEqual <int>(_newValue, _binding.Value); Assert.AreEqual <string>(_newValue.ToString(), _binding.ToString()); Assert.AreEqual <string>("Value", _name); }
public void ToStringCLRArrayRank3TestMethod() { ConsumerBindingMonitoredValue <Int32[, , ]> _binding = new ConsumerBindingMonitoredValue <int[, , ]>(new UATypeInfo(BuiltInType.Int32, 0, new int[] { int.MaxValue, int.MaxValue, int.MaxValue })); string _name = String.Empty; _binding.PropertyChanged += (sender, e) => _name = e.PropertyName; Assert.IsNotNull(_binding); IConsumerBinding _bindingInterface = _binding; Array _newValue = new int[, , ] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } }; _bindingInterface.Assign2Repository(_newValue); CollectionAssert.AreEqual(_newValue, _binding.Value); Assert.AreEqual <string>(@"Array Rank=3 Values [1, 2, 3, 4, 5, 6, 7, 8]", _binding.ToString()); Assert.AreEqual <string>("Value", _name); }
private void ReadValue(IConsumerBinding consumerBinding) { object _value = null; switch (consumerBinding.Encoding.BuiltInType) { case BuiltInType.Boolean: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadBoolean(); } else { _value = m_UADecoder.ReadArray(this, ReadBoolean, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.SByte: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadSByte(); } else { _value = m_UADecoder.ReadArray(this, ReadSByte, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.Byte: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadByte(); } else { _value = m_UADecoder.ReadArray(this, ReadByte, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.Int16: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadInt16(); } else { _value = m_UADecoder.ReadArray(this, ReadInt16, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.UInt16: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadUInt16(); } else { _value = m_UADecoder.ReadArray(this, ReadUInt16, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.Int32: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadInt32(); } else { _value = m_UADecoder.ReadArray(this, ReadInt32, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.UInt32: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadUInt32(); } else { _value = m_UADecoder.ReadArray(this, ReadUInt32, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.Int64: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadInt64(); } else { _value = m_UADecoder.ReadArray(this, ReadInt64, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.UInt64: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadUInt64(); } else { _value = m_UADecoder.ReadArray(this, ReadUInt64, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.Float: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadSingle(); } else { _value = m_UADecoder.ReadArray(this, ReadSingle, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.Double: if (consumerBinding.Encoding.ValueRank < 0) { _value = ReadDouble(); } else { _value = m_UADecoder.ReadArray(this, ReadDouble, consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.String: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadString(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadString(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.DateTime: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadDateTime(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadDateTime(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.Guid: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadGuid(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadGuid(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.ByteString: if (consumerBinding.Encoding.ValueRank < 0) { m_UADecoder.ReadByteString(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadByteString(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.XmlElement: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadXmlElement(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadXmlElement(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.NodeId: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadNodeId(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadNodeId(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.ExpandedNodeId: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadExpandedNodeId(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadExpandedNodeId(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.StatusCode: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadStatusCode(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadStatusCode(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.QualifiedName: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadQualifiedName(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadQualifiedName(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.LocalizedText: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadLocalizedText(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadLocalizedText(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.ExtensionObject: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadExtensionObject(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadExtensionObject(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.DataValue: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadDataValue(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadDataValue(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.Variant: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadVariant(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadVariant(this), consumerBinding.Encoding.ValueRank > 1); } break; case BuiltInType.DiagnosticInfo: if (consumerBinding.Encoding.ValueRank < 0) { _value = m_UADecoder.ReadDiagnosticInfo(this); } else { _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadDiagnosticInfo(this), consumerBinding.Encoding.ValueRank > 1); } break; default: throw new ArgumentOutOfRangeException(string.Format("Impossible to convert the type {0}", consumerBinding.Encoding)); } consumerBinding.Assign2Repository(_value); }
private void ReadValue(IConsumerBinding consumerBinding) { object _value = null; switch (consumerBinding.Encoding.BuiltInType) { case BuiltInType.Boolean: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadBoolean(); else _value = m_UADecoder.ReadArray(this, ReadBoolean, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.SByte: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadSByte(); else _value = m_UADecoder.ReadArray(this, ReadSByte, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.Byte: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadByte(); else _value = m_UADecoder.ReadArray(this, ReadByte, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.Int16: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadInt16(); else _value = m_UADecoder.ReadArray(this, ReadInt16, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.UInt16: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadUInt16(); else _value = m_UADecoder.ReadArray(this, ReadUInt16, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.Int32: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadInt32(); else _value = m_UADecoder.ReadArray(this, ReadInt32, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.UInt32: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadUInt32(); else _value = m_UADecoder.ReadArray(this, ReadUInt32, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.Int64: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadInt64(); else _value = m_UADecoder.ReadArray(this, ReadInt64, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.UInt64: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadUInt64(); else _value = m_UADecoder.ReadArray(this, ReadUInt64, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.Float: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadSingle(); else _value = m_UADecoder.ReadArray(this, ReadSingle, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.Double: if (consumerBinding.Encoding.ValueRank < 0) _value = ReadDouble(); else _value = m_UADecoder.ReadArray(this, ReadDouble, consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.String: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadString(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadString(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.DateTime: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadDateTime(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadDateTime(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.Guid: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadGuid(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadGuid(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.ByteString: if (consumerBinding.Encoding.ValueRank < 0) m_UADecoder.ReadByteString(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadByteString(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.XmlElement: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadXmlElement(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadXmlElement(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.NodeId: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadNodeId(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadNodeId(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.ExpandedNodeId: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadExpandedNodeId(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadExpandedNodeId(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.StatusCode: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadStatusCode(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadStatusCode(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.QualifiedName: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadQualifiedName(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadQualifiedName(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.LocalizedText: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadLocalizedText(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadLocalizedText(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.ExtensionObject: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadExtensionObject(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadExtensionObject(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.DataValue: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadDataValue(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadDataValue(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.Variant: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadVariant(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadVariant(this), consumerBinding.Encoding.ValueRank > 1); break; case BuiltInType.DiagnosticInfo: if (consumerBinding.Encoding.ValueRank < 0) _value = m_UADecoder.ReadDiagnosticInfo(this); else _value = m_UADecoder.ReadArray(this, () => m_UADecoder.ReadDiagnosticInfo(this), consumerBinding.Encoding.ValueRank > 1); break; default: throw new ArgumentOutOfRangeException(string.Format("Impossible to convert the type {0}", consumerBinding.Encoding)); } consumerBinding.Assign2Repository(_value); }