in src/Azure.IIoT.OpcUa.Publisher.Testing/src/Utils/TestDataGenerator.cs [209:281]
public object GetRandom(BuiltInType expectedType)
{
switch (expectedType)
{
case BuiltInType.Boolean:
return GetRandomBoolean();
case BuiltInType.SByte:
return GetRandomSByte();
case BuiltInType.Byte:
return GetRandomByte();
case BuiltInType.Int16:
return GetRandomInt16();
case BuiltInType.UInt16:
return GetRandomUInt16();
case BuiltInType.Int32:
return GetRandomInt32();
case BuiltInType.UInt32:
return GetRandomUInt32();
case BuiltInType.Int64:
return GetRandomInt64();
case BuiltInType.UInt64:
return GetRandomUInt64();
case BuiltInType.Float:
return GetRandomFloat();
case BuiltInType.Double:
return GetRandomDouble();
case BuiltInType.String:
return GetRandomString();
case BuiltInType.DateTime:
return GetRandomDateTime();
case BuiltInType.Guid:
return GetRandomGuid();
case BuiltInType.ByteString:
return GetRandomByteString();
case BuiltInType.XmlElement:
return GetRandomXmlElement();
case BuiltInType.NodeId:
return GetRandomNodeId();
case BuiltInType.ExpandedNodeId:
return GetRandomExpandedNodeId();
case BuiltInType.QualifiedName:
return GetRandomQualifiedName();
case BuiltInType.LocalizedText:
return GetRandomLocalizedText();
case BuiltInType.StatusCode:
return GetRandomStatusCode();
case BuiltInType.Variant:
return GetRandomVariant();
case BuiltInType.Enumeration:
return GetRandomInt32();
case BuiltInType.ExtensionObject:
return GetRandomExtensionObject();
case BuiltInType.Number:
{
var builtInType = (BuiltInType)(_random.NextInt32(9) + 2);
return GetRandomVariant(builtInType, isArray: false);
}
case BuiltInType.Integer:
{
var builtInType = (BuiltInType)((_random.NextInt32(3) * 2) + 2);
return GetRandomVariant(builtInType, isArray: false);
}
case BuiltInType.UInteger:
{
var builtInType = (BuiltInType)((_random.NextInt32(3) * 2) + 3);
return GetRandomVariant(builtInType, isArray: false);
}
case BuiltInType.Null:
return null;
default:
throw new ArgumentException($"Unexpected scalar type {expectedType} passed");
}
}