public void Can_Deserialize_Names_With_Dashes_With_Default_Root() { string doc = CreateJsonWithDashes(); JsonDeserializer d = new JsonDeserializer(); RestResponse response = new RestResponse { Content = doc }; PersonForJson p = d.Deserialize <PersonForJson>(response); Assert.AreEqual("John Sheehan", p.Name); //Assert.AreEqual(new DateTime(2009, 9, 25, 0, 6, 1, DateTimeKind.Utc), p.StartDate); Assert.AreEqual(28, p.Age); Assert.AreEqual(long.MaxValue, p.BigNumber); Assert.AreEqual(99.9999m, p.Percent); Assert.AreEqual(false, p.IsCool); Assert.AreEqual(new Uri("http://example.com", UriKind.RelativeOrAbsolute), p.Url); Assert.AreEqual(new Uri("/foo/bar", UriKind.RelativeOrAbsolute), p.UrlPath); Assert.NotNull(p.Friends); Assert.AreEqual(10, p.Friends.Count); Assert.NotNull(p.BestFriend); Assert.AreEqual("The Fonz", p.BestFriend.Name); Assert.AreEqual(1952, p.BestFriend.Since); Assert.IsNotEmpty(p.Foes); Assert.AreEqual("Foe 1", p.Foes["dict1"].Nickname); Assert.AreEqual("Foe 2", p.Foes["dict2"].Nickname); }
public void Can_Deserialize_JsonNet_Dates() { PersonForJson person = GetPayLoad <PersonForJson>("person.json.txt"); Assert.AreEqual( new DateTime(2011, 6, 30, 8, 15, 46, 929, DateTimeKind.Utc), person.StartDate); }
public void Ignore_ReadOnly_Property_That_Exists_In_Data() { string doc = CreateJson(); RestResponse response = new RestResponse { Content = doc }; JsonDeserializer d = new JsonDeserializer(); PersonForJson p = d.Deserialize <PersonForJson>(response); Assert.Null(p.ReadOnlyProxy); }
public void Can_Deserialize_Int_to_Bool() { JsonObject doc = new JsonObject(); doc["IsCool"] = 1; JsonDeserializer d = new JsonDeserializer(); RestResponse response = new RestResponse { Content = doc.ToString() }; PersonForJson p = d.Deserialize <PersonForJson>(response); Assert.True(p.IsCool); }
public void Can_Deserialize_Quoted_Primitive() { JsonObject doc = new JsonObject(); doc["Age"] = "28"; JsonDeserializer d = new JsonDeserializer(); RestResponse response = new RestResponse { Content = doc.ToString() }; PersonForJson p = d.Deserialize <PersonForJson>(response); Assert.AreEqual(28, p.Age); }
public void Can_Deserialize_Guid_String_Fields() { JsonObject doc = new JsonObject(); doc["Guid"] = GUID_STRING; JsonDeserializer d = new JsonDeserializer(); RestResponse response = new RestResponse { Content = doc.ToString() }; PersonForJson p = d.Deserialize <PersonForJson>(response); Assert.AreEqual(new Guid(GUID_STRING), p.Guid); }
public void Can_Deserialize_Custom_Formatted_Date() { CultureInfo culture = CultureInfo.InvariantCulture; const string format = "dd yyyy MMM, hh:mm ss tt"; DateTime date = new DateTime(2010, 2, 8, 11, 11, 11); var formatted = new { StartDate = date.ToString(format, culture) }; string data = SimpleJson.SerializeObject(formatted); RestResponse response = new RestResponse { Content = data }; JsonDeserializer json = new JsonDeserializer { DateFormat = format, Culture = culture }; PersonForJson output = json.Deserialize <PersonForJson>(response); Assert.AreEqual(date, output.StartDate); }