public bool Equals(Movie other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Equals(other.ImdbId, ImdbId) && Equals(other.Title, Title) && other.Rating == Rating && Equals(other.Director, Director) && other.ReleaseDate.Equals(ReleaseDate) && Equals(other.TagLine, TagLine) && Genres.EquivalentTo(other.Genres); }
public void Can_deserialize_empty_type() { var ssModel = JsonSerializer.DeserializeFromString<Movie>("{}"); var ssDynamicModel = JsonSerializer.DeserializeFromString("{}", typeof(Movie)); var bclModel = BclJsonDataContractDeserializer.Instance.Parse<Movie>("{}"); var defaultModel = new Movie(); Assert.That(ssModel, Is.EqualTo(defaultModel)); Assert.That(ssModel, Is.EqualTo(ssDynamicModel)); //It's equal except that the BCL resets Lists/Arrays to null which is stupid bclModel.Genres = new List<string>(); Assert.That(ssModel, Is.EqualTo(bclModel)); }
public void Respects_EmitDefaultValue() { using (var x = JsConfig.BeginScope()) { x.IncludeNullValues = true; var jsonModel = new Movie { Genres = null }; var ssJson = JsonSerializer.SerializeToString(jsonModel); var wcfJson = BclJsonDataContractSerializer.Instance.Parse(jsonModel); Assert.That(ssJson, Is.EqualTo(wcfJson)); } }
public void Does_serialize_To_CamelCase() { var dto = new Movie { ImdbId = "tt0111161", Title = "The Shawshank Redemption", Rating = 9.2m, Director = "Frank Darabont", ReleaseDate = new DateTime(1995, 2, 17), TagLine = "Fear can hold you prisoner. Hope can set you free.", Genres = new List<string> { "Crime", "Drama" }, }; var json = dto.ToJson(); Assert.That(json, Is.EqualTo( "{\"id\":0,\"imdbId\":\"tt0111161\",\"title\":\"The Shawshank Redemption\",\"rating\":9.2,\"director\":\"Frank Darabont\",\"releaseDate\":\"\\/Date(792997200000+0000)\\/\",\"tagLine\":\"Fear can hold you prisoner. Hope can set you free.\",\"genres\":[\"Crime\",\"Drama\"]}")); }