public void ToQueryParameter_Valid(string name, BigQueryParameter parameter, QueryParameter expectedResult)
        {
            // Positional vs named mode difference is only in validation, tested elsewhere.
            string actualJson   = JsonConvert.SerializeObject(parameter.ToQueryParameter(BigQueryParameterMode.Positional));
            string expectedJson = JsonConvert.SerializeObject(expectedResult);

            Assert.Equal(actualJson, expectedJson);
        }
        public void TypeInference(string name, object value, BigQueryDbType expectedType)
        {
            var parameter = new BigQueryParameter();

            parameter.Value = value;
            var queryParameter = parameter.ToQueryParameter();
            var actualType     = EnumMap <BigQueryDbType> .ToValue(queryParameter.ParameterType.Type);

            Assert.Equal(expectedType, actualType);
        }
Exemple #3
0
        public void ArrayTypeInference(string name, object value, BigQueryDbType expectedArrayType)
        {
            var parameter = new BigQueryParameter();

            parameter.Value = value;
            var queryParameter = parameter.ToQueryParameter(BigQueryParameterMode.Positional);

            Assert.Equal(BigQueryDbType.Array.ToParameterApiType(), queryParameter.ParameterType.Type);
            var actualArrayType = EnumMap <BigQueryDbType> .ToValue(queryParameter.ParameterType.ArrayType.Type);

            Assert.Equal(expectedArrayType, actualArrayType);
        }
        public void StructParametersNotImplemented()
        {
            var parameter = new BigQueryParameter(BigQueryDbType.Struct, null);

            Assert.Throws <NotImplementedException>(() => parameter.ToQueryParameter());
        }
        public void ToQueryParameter_Invalid(string name, BigQueryDbType?type, object value)
        {
            var parameter = new BigQueryParameter(type, value);

            Assert.Throws <InvalidOperationException>(() => parameter.ToQueryParameter());
        }