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