В методе Read я проверил, используется ли ValueSequence
Код: Выделить всё
...
string stringValue;
if (reader.HasValueSequence)
{
stringValue = Encoding.UTF8.GetString(reader.ValueSequence);
}
else
{
stringValue = Encoding.UTF8.GetString(reader.ValueSpan);
}
if (BigInteger.TryParse(stringValue, CultureInfo.InvariantCulture, out var result))
{
return result;
}
...
Однако я уже тестировал BigIntegers размером с BigInteger.Pow(new BigInteger(long.MaxValue), 1234); и по-прежнему не могу использовать ValueSequence.
Я что-то не понял?
Есть ли способ заставить использовать ValueSqeuence в целях тестирования?Мой тестовый пример выглядит так
Код: Выделить всё
[Theory]
[MemberData(nameof(GetNotNullTestData))]
public void Read_EntityWithNotNullableBigInteger(string name, BigInteger expected, string value)
{
// Arrange
var json = $$"""{"Name":"{{name}}","NotNullableValue":{{value}}}""";
// Act
var result = JsonSerializer.Deserialize(json, _options);
// Assert
Assert.NotNull(result);
Assert.Equal(name, result.Name);
Assert.Equal(expected, result.NotNullableValue);
}
Майкл
Подробнее здесь: https://stackoverflow.com/questions/787 ... t-purposes