public Array GetRandomArray()

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");
            }
        }