public void TestContractResolverSerialization() { MultiLangBo mlb = new MultiLangBo() { datum_deutsch = new DateTime(2018, 1, 1, 0, 0, 0, DateTimeKind.Utc), wert_deutsch = "Hallo Welt" }; var settings = new JsonSerializerSettings { ContractResolver = new MultiLangResolver(Language.EN), Formatting = Formatting.Indented }; var json = JsonConvert.SerializeObject(mlb, settings); Assert.IsTrue(json.Contains("date_english")); Assert.IsTrue(json.Contains("value_english")); Assert.IsFalse(json.Contains("datum_deutsch")); Assert.IsFalse(json.Contains("wert_deutsch")); string DEjson = JsonConvert.SerializeObject(mlb); Assert.IsFalse(DEjson.Contains("date_english")); Assert.IsFalse(DEjson.Contains("value_english")); Assert.IsTrue(DEjson.Contains("datum_deutsch")); Assert.IsTrue(DEjson.Contains("wert_deutsch")); }
public void TestNestedContractResolverSerialization() { MultiLangBo mlb = new MultiLangBo() { datum_deutsch = new DateTime(2018, 1, 1, 0, 0, 0, DateTimeKind.Utc), wert_deutsch = "Hallo Welt", intern = new NestedObject() { bool_deutsch = true, intern_deutsch = "Hallo", int_deutsch = 33 }, internList = new List <NestedObject>() { new NestedObject() { bool_deutsch = false, int_deutsch = 10, intern_deutsch = "internalList1" }, new NestedObject() { bool_deutsch = false, int_deutsch = 35, intern_deutsch = "internalList2" }, new NestedObject() { bool_deutsch = true, int_deutsch = 1200, intern_deutsch = "internalList3" }, } }; var settings = new JsonSerializerSettings { ContractResolver = new MultiLangResolver(Language.EN), Formatting = Formatting.Indented }; var json = JsonConvert.SerializeObject(mlb, settings); Assert.IsTrue(json.Contains("date_english")); Assert.IsTrue(json.Contains("value_english")); Assert.IsFalse(json.Contains("datum_deutsch")); Assert.IsFalse(json.Contains("wert_deutsch")); Assert.IsTrue(json.Contains("internal Object List")); Assert.IsTrue(json.Contains("internal_english")); Assert.IsFalse(json.Contains("intern_deutsch")); string DEjson = JsonConvert.SerializeObject(mlb); Assert.IsFalse(DEjson.Contains("date_english")); Assert.IsFalse(DEjson.Contains("value_english")); Assert.IsTrue(DEjson.Contains("datum_deutsch")); Assert.IsTrue(DEjson.Contains("wert_deutsch")); Assert.IsTrue(DEjson.Contains("internList")); Assert.IsTrue(DEjson.Contains("intern_deutsch")); Assert.IsFalse(DEjson.Contains("internal_english")); MultiLangBo ml = JsonConvert.DeserializeObject <MultiLangBo>(DEjson); Assert.AreNotEqual(DateTime.MinValue, ml.datum_deutsch); }