public void HashCodeTest() { UaTypeMetadata sut = new UaTypeMetadata("repo", "type"); UaTypeMetadata sut2 = new UaTypeMetadata("repo", "type"); Assert.Equal(sut.GetHashCode(), sut2.GetHashCode()); }
public void ConstructorNullRepositoryNameTest() { UaTypeMetadata sut = new UaTypeMetadata(null, "type"); Assert.Equal(string.Empty, sut.RepositoryGroupName); Assert.Equal("type", sut.TypeName); }
public void ConstructorValidDataTest() { UaTypeMetadata sut = new UaTypeMetadata("repo", "type"); Assert.Equal("repo", sut.RepositoryGroupName); Assert.Equal("type", sut.TypeName); }
private IConsumerBinding Bind <type>(UaTypeMetadata typeMetadata, UATypeInfo typeInfo) { ConsumerBindingMonitoredValue <type> binding = new ConsumerBindingMonitoredValue <type>(typeInfo); binding.PropertyChanged += (sender, args) => { if (_subscriptions.TryGetValue(typeMetadata, out ISubscription subscription)) { _logger?.LogInfo($"Value updated to {sender.ToString()} for subscription {subscription.UaTypeMetadata.ToString()}"); subscription.InvokeValueUpdated(); } }; ISubscription subscription = new Subscription( typeInfo, typeMetadata, _configuration.GetAliasForRepositoryGroup(typeMetadata.RepositoryGroupName), binding ); _subscriptions[typeMetadata] = subscription; _consumerViewModel.AddSubscription(subscription); return(binding); }
public void EqualsTest(UaTypeMetadata type1, UaTypeMetadata type2, bool expectedResult) { Assert.Equal(expectedResult, type1.Equals(type2)); }
public void ToStringTest() { UaTypeMetadata sut = new UaTypeMetadata("repo", "type"); Assert.Equal("repo.type", sut.ToString()); }
public IConsumerBinding GetConsumerBinding(string repositoryGroup, string processValueName, UATypeInfo fieldTypeInfo) { if (fieldTypeInfo is null) { throw new ArgumentNullException(nameof(fieldTypeInfo)); } if (fieldTypeInfo.ContainsMultidimensionalArray()) { throw new ValueRankOutOfRangeException(nameof(fieldTypeInfo.ValueRank)); } UaTypeMetadata typeMetadata = new UaTypeMetadata(repositoryGroup, processValueName); switch (fieldTypeInfo.BuiltInType) { case BuiltInType.Boolean: return(fieldTypeInfo.ContainsArray() ? Bind <bool[]>(typeMetadata, fieldTypeInfo) : Bind <bool>(typeMetadata, fieldTypeInfo)); case BuiltInType.SByte: return(fieldTypeInfo.ContainsArray() ? Bind <sbyte[]>(typeMetadata, fieldTypeInfo) : Bind <sbyte>(typeMetadata, fieldTypeInfo)); case BuiltInType.Byte: return(fieldTypeInfo.ContainsArray() ? Bind <byte[]>(typeMetadata, fieldTypeInfo) : Bind <byte>(typeMetadata, fieldTypeInfo)); case BuiltInType.Int16: return(fieldTypeInfo.ContainsArray() ? Bind <short[]>(typeMetadata, fieldTypeInfo) : Bind <short>(typeMetadata, fieldTypeInfo)); case BuiltInType.UInt16: return(fieldTypeInfo.ContainsArray() ? Bind <ushort[]>(typeMetadata, fieldTypeInfo) : Bind <ushort>(typeMetadata, fieldTypeInfo)); case BuiltInType.Int32: return(fieldTypeInfo.ContainsArray() ? Bind <int[]>(typeMetadata, fieldTypeInfo) : Bind <int>(typeMetadata, fieldTypeInfo)); case BuiltInType.UInt32: return(fieldTypeInfo.ContainsArray() ? Bind <uint[]>(typeMetadata, fieldTypeInfo) : Bind <uint>(typeMetadata, fieldTypeInfo)); case BuiltInType.Int64: return(fieldTypeInfo.ContainsArray() ? Bind <long[]>(typeMetadata, fieldTypeInfo) : Bind <long>(typeMetadata, fieldTypeInfo)); case BuiltInType.UInt64: return(fieldTypeInfo.ContainsArray() ? Bind <ulong[]>(typeMetadata, fieldTypeInfo) : Bind <ulong>(typeMetadata, fieldTypeInfo)); case BuiltInType.Float: return(fieldTypeInfo.ContainsArray() ? Bind <float[]>(typeMetadata, fieldTypeInfo) : Bind <float>(typeMetadata, fieldTypeInfo)); case BuiltInType.Double: return(fieldTypeInfo.ContainsArray() ? Bind <double[]>(typeMetadata, fieldTypeInfo) : Bind <double>(typeMetadata, fieldTypeInfo)); case BuiltInType.String: return(fieldTypeInfo.ContainsArray() ? Bind <string[]>(typeMetadata, fieldTypeInfo) : Bind <string>(typeMetadata, fieldTypeInfo)); case BuiltInType.DateTime: return(fieldTypeInfo.ContainsArray() ? Bind <DateTime?[]>(typeMetadata, fieldTypeInfo) : Bind <DateTime?>(typeMetadata, fieldTypeInfo)); case BuiltInType.Guid: return(fieldTypeInfo.ContainsArray() ? Bind <Guid?[]>(typeMetadata, fieldTypeInfo) : Bind <Guid?>(typeMetadata, fieldTypeInfo)); case BuiltInType.ByteString: return(fieldTypeInfo.ContainsArray() ? Bind <byte[][]>(typeMetadata, fieldTypeInfo) : Bind <byte[]>(typeMetadata, fieldTypeInfo)); default: throw new UnsupportedTypeException(fieldTypeInfo.BuiltInType.ToString()); } }