[Fact]
public static void DuplicateNameEnumTest()
{
- JsonException e = Assert.Throws<JsonException>(() =>
- JsonSerializer.Deserialize<DuplicateNameEnum>("\"foo_bar\""));
+ Assert.Throws<JsonException>(() => JsonSerializer.Deserialize<DuplicateNameEnum>("\"foo_bar\""));
}
[Fact]
public static void InvalidValueStringNumber()
{
- JsonException ex = Assert.Throws<JsonException>(() =>
- {
- StoreColor s = JsonSerializer.Deserialize<StoreColor>("\"1\"");
- });
+ Assert.Throws<JsonException>(() => JsonSerializer.Deserialize<StoreColor>("\"1\""));
}
[Fact]
[Fact]
public static void InvalidValueDash()
{
- JsonException ex = Assert.Throws<JsonException>(() =>
- {
- JsonSerializer.Deserialize<StoreColor>("\"-\"");
- });
+ Assert.Throws<JsonException>(() => JsonSerializer.Deserialize<StoreColor>("\"-\""));
}
[Fact]
[Fact]
public void SerializeDefaultArray()
{
- InvalidOperationException e = Assert.Throws<InvalidOperationException>(
- () => JsonSerializer.Serialize(default(ImmutableArray<int>), s_indentedOption));
- Assert.Equal("This operation cannot be performed on a default instance of ImmutableArray<T>. Consider initializing the array, or checking the ImmutableArray<T>.IsDefault property.", e.Message);
+ // The call to .GetEnumerator() throws this exception. Json.NET fails in the same way.
+ Assert.Throws<InvalidOperationException>(() => JsonSerializer.Serialize(default(ImmutableArray<int>), s_indentedOption));
}
#endregion
public void IncompleteContainers()
{
JsonException e = Assert.Throws<JsonException>(() => JsonSerializer.Deserialize<IList<object>>("[1,"));
- Assert.Equal("Expected start of a property name or value, but instead reached end of data. Path: $[1] | LineNumber: 0 | BytePositionInLine: 2.", e.Message);
+ Assert.Contains("Path: $[1] | LineNumber: 0 | BytePositionInLine: 2.", e.Message);
e = Assert.Throws<JsonException>(() => JsonSerializer.Deserialize<IList<int>>("[1,"));
- Assert.Equal("Expected start of a property name or value, but instead reached end of data. Path: $[1] | LineNumber: 0 | BytePositionInLine: 2.", e.Message);
+ Assert.Contains("Path: $[1] | LineNumber: 0 | BytePositionInLine: 2.", e.Message);
e = Assert.Throws<JsonException>(() => JsonSerializer.Deserialize<IList<int>>("[1"));
- Assert.Equal("'1' is an invalid end of a number. Expected a delimiter. Path: $[0] | LineNumber: 0 | BytePositionInLine: 2.", e.Message);
+ Assert.Contains("Path: $[0] | LineNumber: 0 | BytePositionInLine: 2.", e.Message);
e = Assert.Throws<JsonException>(() => JsonSerializer.Deserialize<IDictionary<string, int>>("{\"key\":1,"));
- Assert.Equal("Expected start of a property name or value, but instead reached end of data. Path: $.key | LineNumber: 0 | BytePositionInLine: 8.", e.Message);
+ Assert.Contains("Path: $.key | LineNumber: 0 | BytePositionInLine: 8.", e.Message);
e = Assert.Throws<JsonException>(() => JsonSerializer.Deserialize<IDictionary<string, int>>("{\"key\":1"));
- Assert.Equal("'1' is an invalid end of a number. Expected a delimiter. Path: $.key | LineNumber: 0 | BytePositionInLine: 8.", e.Message);
+ Assert.Contains("Path: $.key | LineNumber: 0 | BytePositionInLine: 8.", e.Message);
e = Assert.Throws<JsonException>(() => JsonSerializer.Deserialize<IncompleteTestClass>("{\"key\":1,"));
- Assert.Equal("Expected start of a property name or value, but instead reached end of data. Path: $ | LineNumber: 0 | BytePositionInLine: 8.", e.Message);
+ Assert.Contains("$ | LineNumber: 0 | BytePositionInLine: 8.", e.Message);
}
[Fact]