public void ArrayFieldMappedValueShouldBeCorrect(Type type, object value, object expectedBigQueryValue, Value.MapResult expectedValueAgain, bool fetchOnly) { var fieldToBigQuery = Value.MaybeRepeatedFieldToBigQueryFunction(type.MakeArrayType()); var fieldFromBigQuery = Value.MaybeRepeatedFieldFromBigQueryFunction(type.MakeArrayType()); object bigQueryValue; if (!fetchOnly) { bigQueryValue = fieldToBigQuery(value); bigQueryValue .ShouldBeEquivalentTo(expectedBigQueryValue); } else { bigQueryValue = expectedBigQueryValue; } if (expectedValueAgain.Skip) { fieldFromBigQuery(bigQueryValue).Skip.Should().BeTrue("Should skip"); } else { fieldFromBigQuery(bigQueryValue).Value.ShouldBeEquivalentTo(expectedValueAgain.Value); } }
public void FieldMappedValueShouldBeCorrect(Type type, object value, object expectedBigQueryValue, Value.MapResult expectedValueAgain, bool fetchOnly) { var fieldToBigQuery = Value.MaybeFieldToBigQueryFunction(type); var fieldFromBigQuery = Value.MaybeFieldFromBigQueryFunction(type); object bigQueryValue; if (!fetchOnly) { bigQueryValue = fieldToBigQuery(value); bigQueryValue .ShouldBeEquivalentTo(expectedBigQueryValue, $"{type} value {value} should be {expectedBigQueryValue} when converted to big query value"); } else { bigQueryValue = expectedBigQueryValue; } var valueAgain = fieldFromBigQuery(bigQueryValue); if (expectedValueAgain.Skip) { valueAgain.Skip.Should() .BeTrue($"Should skip setting {type} value {bigQueryValue} when converting from big query"); } else { valueAgain.Value.ShouldBeEquivalentTo(expectedValueAgain.Value, $"Should set {type} value {bigQueryValue} to {expectedValueAgain.Value} when converting from big query"); } }