in src/Azure.IIoT.OpcUa.Publisher.Testing/src/Utils/TestDataGenerator.cs [291:364]
public Array GetRandomArray(BuiltInType expectedType, int length,
bool fixedLength)
{
switch (expectedType)
{
case BuiltInType.Boolean:
return GetRandomArray<bool>(length, fixedLength);
case BuiltInType.SByte:
return GetRandomArray<sbyte>(length, fixedLength);
case BuiltInType.Byte:
return GetRandomArray<byte>(length, fixedLength);
case BuiltInType.Int16:
return GetRandomArray<short>(length, fixedLength);
case BuiltInType.UInt16:
return GetRandomArray<ushort>(length, fixedLength);
case BuiltInType.Int32:
return GetRandomArray<int>(length, fixedLength);
case BuiltInType.UInt32:
return GetRandomArray<uint>(length, fixedLength);
case BuiltInType.Int64:
return GetRandomArray<long>(length, fixedLength);
case BuiltInType.UInt64:
return GetRandomArray<ulong>(length, fixedLength);
case BuiltInType.Float:
return GetRandomArray<float>(length, fixedLength);
case BuiltInType.Double:
return GetRandomArray<double>(length, fixedLength);
case BuiltInType.String:
return GetRandomArray<string>(length, fixedLength);
case BuiltInType.DateTime:
return GetRandomArray<DateTime>(length, fixedLength);
case BuiltInType.Guid:
return GetRandomArray<Uuid>(length, fixedLength);
case BuiltInType.ByteString:
return GetRandomArray<byte[]>(length, fixedLength);
case BuiltInType.XmlElement:
return GetRandomArray<XmlElement>(length, fixedLength);
case BuiltInType.NodeId:
return GetRandomArray<NodeId>(length, fixedLength);
case BuiltInType.ExpandedNodeId:
return GetRandomArray<ExpandedNodeId>(length, fixedLength);
case BuiltInType.QualifiedName:
return GetRandomArray<QualifiedName>(length, fixedLength);
case BuiltInType.LocalizedText:
return GetRandomArray<LocalizedText>(length, fixedLength);
case BuiltInType.StatusCode:
return GetRandomArray<StatusCode>(length, fixedLength);
case BuiltInType.Variant:
return GetRandomArray<Variant>(length, fixedLength);
case BuiltInType.Enumeration:
return GetRandomArray<int>(length, fixedLength);
case BuiltInType.ExtensionObject:
return GetRandomArray<ExtensionObject>(length, fixedLength);
case BuiltInType.Number:
{
var builtInType3 = (BuiltInType)(_random.NextInt32(9) + 2);
return GetRandomArrayInVariant(builtInType3, length, fixedLength);
}
case BuiltInType.Integer:
{
var builtInType2 = (BuiltInType)((_random.NextInt32(3) * 2) + 2);
return GetRandomArrayInVariant(builtInType2, length, fixedLength);
}
case BuiltInType.UInteger:
{
var builtInType = (BuiltInType)((_random.NextInt32(3) * 2) + 3);
return GetRandomArrayInVariant(builtInType, length, fixedLength);
}
case BuiltInType.Null:
return null;
default:
throw new ArgumentException($"Unexpected array type {expectedType} passed");
}
}