Обеспечьте использование Utf8JsonReader.ValueSequence в целях тестирования.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Обеспечьте использование Utf8JsonReader.ValueSequence в целях тестирования.

Сообщение Anonymous »

Я написал свой собственный BigIntegerConverter для сериализации/десериализации JSON (.Net System.Text.Json)
В методе 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;
}
...
Теперь я хочу протестировать этот код, но пока мне удается добраться только до дерева else. Основываясь на документации, я предположил, что ValueSequence будет использоваться, если данные станут достаточно большими.
Однако я уже тестировал 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Python: блокировать сетевые подключения в целях тестирования?
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Десериализация Json из читателя (Utf8JsonReader)
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Десериализация Json из читателя (Utf8JsonReader)
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Обеспечьте использование одноэлементной переменной во всем веб-приложении.
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Обеспечьте использование одноэлементной переменной во всем веб-приложении.
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»