public object GetRandom()

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