-Tests
This commit is contained in:
@@ -25,11 +25,9 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using Newtonsoft.Json.Converters;
|
||||
#if DNXCORE50
|
||||
using Xunit;
|
||||
@@ -257,10 +255,12 @@ namespace Newtonsoft.Json.Tests.Converters
|
||||
[Test]
|
||||
public void SerializeEnumClass()
|
||||
{
|
||||
EnumClass enumClass = new EnumClass();
|
||||
enumClass.StoreColor = StoreColor.Red;
|
||||
enumClass.NullableStoreColor1 = StoreColor.White;
|
||||
enumClass.NullableStoreColor2 = null;
|
||||
EnumClass enumClass = new EnumClass()
|
||||
{
|
||||
StoreColor = StoreColor.Red,
|
||||
NullableStoreColor1 = StoreColor.White,
|
||||
NullableStoreColor2 = null
|
||||
};
|
||||
|
||||
string json = JsonConvert.SerializeObject(enumClass, Formatting.Indented, new StringEnumConverter());
|
||||
|
||||
@@ -274,10 +274,12 @@ namespace Newtonsoft.Json.Tests.Converters
|
||||
[Test]
|
||||
public void SerializeEnumClassWithCamelCase()
|
||||
{
|
||||
EnumClass enumClass = new EnumClass();
|
||||
enumClass.StoreColor = StoreColor.Red;
|
||||
enumClass.NullableStoreColor1 = StoreColor.DarkGoldenrod;
|
||||
enumClass.NullableStoreColor2 = null;
|
||||
EnumClass enumClass = new EnumClass()
|
||||
{
|
||||
StoreColor = StoreColor.Red,
|
||||
NullableStoreColor1 = StoreColor.DarkGoldenrod,
|
||||
NullableStoreColor2 = null
|
||||
};
|
||||
|
||||
string json = JsonConvert.SerializeObject(enumClass, Formatting.Indented, new StringEnumConverter { CamelCaseText = true });
|
||||
|
||||
@@ -291,10 +293,12 @@ namespace Newtonsoft.Json.Tests.Converters
|
||||
[Test]
|
||||
public void SerializeEnumClassUndefined()
|
||||
{
|
||||
EnumClass enumClass = new EnumClass();
|
||||
enumClass.StoreColor = (StoreColor)1000;
|
||||
enumClass.NullableStoreColor1 = (StoreColor)1000;
|
||||
enumClass.NullableStoreColor2 = null;
|
||||
EnumClass enumClass = new EnumClass()
|
||||
{
|
||||
StoreColor = (StoreColor)1000,
|
||||
NullableStoreColor1 = (StoreColor)1000,
|
||||
NullableStoreColor2 = null
|
||||
};
|
||||
|
||||
string json = JsonConvert.SerializeObject(enumClass, Formatting.Indented, new StringEnumConverter());
|
||||
|
||||
@@ -308,10 +312,12 @@ namespace Newtonsoft.Json.Tests.Converters
|
||||
[Test]
|
||||
public void SerializeFlagEnum()
|
||||
{
|
||||
EnumClass enumClass = new EnumClass();
|
||||
enumClass.StoreColor = StoreColor.Red | StoreColor.White;
|
||||
enumClass.NullableStoreColor1 = StoreColor.White & StoreColor.Yellow;
|
||||
enumClass.NullableStoreColor2 = StoreColor.Red | StoreColor.White | StoreColor.Black;
|
||||
EnumClass enumClass = new EnumClass()
|
||||
{
|
||||
StoreColor = StoreColor.Red | StoreColor.White,
|
||||
NullableStoreColor1 = StoreColor.White & StoreColor.Yellow,
|
||||
NullableStoreColor2 = StoreColor.Red | StoreColor.White | StoreColor.Black
|
||||
};
|
||||
|
||||
string json = JsonConvert.SerializeObject(enumClass, Formatting.Indented, new StringEnumConverter());
|
||||
|
||||
@@ -354,9 +360,11 @@ namespace Newtonsoft.Json.Tests.Converters
|
||||
[Test]
|
||||
public void SerializeNegativeEnum()
|
||||
{
|
||||
NegativeEnumClass negativeEnumClass = new NegativeEnumClass();
|
||||
negativeEnumClass.Value1 = NegativeEnum.Negative;
|
||||
negativeEnumClass.Value2 = (NegativeEnum)int.MinValue;
|
||||
NegativeEnumClass negativeEnumClass = new NegativeEnumClass()
|
||||
{
|
||||
Value1 = NegativeEnum.Negative,
|
||||
Value2 = (NegativeEnum)int.MinValue
|
||||
};
|
||||
|
||||
string json = JsonConvert.SerializeObject(negativeEnumClass, Formatting.Indented, new StringEnumConverter());
|
||||
|
||||
@@ -744,15 +752,78 @@ namespace Newtonsoft.Json.Tests.Converters
|
||||
public void DeserializeEnumWithDifferentCases()
|
||||
{
|
||||
EnumWithDifferentCases e = JsonConvert.DeserializeObject<EnumWithDifferentCases>(@"""M""", new StringEnumConverter());
|
||||
|
||||
Assert.AreEqual(EnumWithDifferentCases.M, e);
|
||||
|
||||
e = JsonConvert.DeserializeObject<EnumWithDifferentCases>(@"""m""", new StringEnumConverter());
|
||||
|
||||
Assert.AreEqual(EnumWithDifferentCases.m, e);
|
||||
}
|
||||
|
||||
#if !NET20
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public enum EnumMemberDoesNotMatchName
|
||||
{
|
||||
[EnumMember(Value = "first_value")]
|
||||
First
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeserializeEnumCaseIncensitive_ByEnumMemberValue_UpperCase()
|
||||
{
|
||||
var e = JsonConvert.DeserializeObject<EnumMemberDoesNotMatchName>(@"""FIRST_VALUE""", new StringEnumConverter());
|
||||
Assert.AreEqual(EnumMemberDoesNotMatchName.First, e);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeserializeEnumCaseIncensitive_ByEnumMemberValue_MixedCase()
|
||||
{
|
||||
var e = JsonConvert.DeserializeObject<EnumMemberDoesNotMatchName>(@"""First_Value""", new StringEnumConverter());
|
||||
Assert.AreEqual(EnumMemberDoesNotMatchName.First, e);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeserializeEnumCaseIncensitive_ByName_LowerCase()
|
||||
{
|
||||
var e = JsonConvert.DeserializeObject<EnumMemberDoesNotMatchName>(@"""first""", new StringEnumConverter());
|
||||
Assert.AreEqual(EnumMemberDoesNotMatchName.First, e);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeserializeEnumCaseIncensitive_ByName_UperCase()
|
||||
{
|
||||
var e = JsonConvert.DeserializeObject<EnumMemberDoesNotMatchName>(@"""FIRST""", new StringEnumConverter());
|
||||
Assert.AreEqual(EnumMemberDoesNotMatchName.First, e);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeserializeEnumCaseIncensitive_FromAttribute()
|
||||
{
|
||||
var e = JsonConvert.DeserializeObject<EnumMemberDoesNotMatchName>(@"""FIRST_VALUE""");
|
||||
Assert.AreEqual(EnumMemberDoesNotMatchName.First, e);
|
||||
}
|
||||
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public enum EnumMemberWithDiffrentCases
|
||||
{
|
||||
[EnumMember(Value = "first_value")]
|
||||
First,
|
||||
[EnumMember(Value = "second_value")]
|
||||
first
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeserializeEnumMemberWithDifferentCasing_ByEnumMemberValue_First()
|
||||
{
|
||||
var e = JsonConvert.DeserializeObject<EnumMemberWithDiffrentCases>(@"""first_value""", new StringEnumConverter());
|
||||
Assert.AreEqual(EnumMemberWithDiffrentCases.First, e);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeserializeEnumMemberWithDifferentCasing_ByEnumMemberValue_Second()
|
||||
{
|
||||
var e = JsonConvert.DeserializeObject<EnumMemberWithDiffrentCases>(@"""second_value""", new StringEnumConverter());
|
||||
Assert.AreEqual(EnumMemberWithDiffrentCases.first, e);
|
||||
}
|
||||
|
||||
[DataContract(Name = "DateFormats")]
|
||||
public enum EnumMemberWithDifferentCases
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user