From 7ac27587c0c4f54dc3072dedbeff8e77d14db7dd Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 20 Jul 2016 12:14:10 +1200 Subject: [PATCH] -Documentation -Test --- .../Linq/LinqToJsonTest.cs | 34 +++++++++++++++++++ .../Converters/StringEnumConverter.cs | 4 +-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs b/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs index 5ac8c2eb..ebd12a0b 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/LinqToJsonTest.cs @@ -1510,5 +1510,39 @@ keyword such as type of business."" string json = t.ToString(); return json; } + + [Test] + public void HashCodeTests() + { + JObject o1 = new JObject + { + ["prop"] = 1 + }; + JObject o2 = new JObject + { + ["prop"] = 1 + }; + + Assert.IsFalse(ReferenceEquals(o1, o2)); + Assert.IsFalse(Equals(o1, o2)); + Assert.IsFalse(o1.GetHashCode() == o2.GetHashCode()); + Assert.IsTrue(o1.GetDeepHashCode() == o2.GetDeepHashCode()); + Assert.IsTrue(JToken.DeepEquals(o1, o2)); + + JArray a1 = new JArray + { + 1 + }; + JArray a2 = new JArray + { + 1 + }; + + Assert.IsFalse(ReferenceEquals(a1, a2)); + Assert.IsFalse(Equals(a1, a2)); + Assert.IsFalse(a1.GetHashCode() == a2.GetHashCode()); + Assert.IsTrue(a1.GetDeepHashCode() == a2.GetDeepHashCode()); + Assert.IsTrue(JToken.DeepEquals(a1, a2)); + } } } \ No newline at end of file diff --git a/Src/Newtonsoft.Json/Converters/StringEnumConverter.cs b/Src/Newtonsoft.Json/Converters/StringEnumConverter.cs index cb97ea96..a22ee1e5 100644 --- a/Src/Newtonsoft.Json/Converters/StringEnumConverter.cs +++ b/Src/Newtonsoft.Json/Converters/StringEnumConverter.cs @@ -50,9 +50,9 @@ namespace Newtonsoft.Json.Converters public bool CamelCaseText { get; set; } /// - /// Gets or sets a value indicating whether integer values are allowed. + /// Gets or sets a value indicating whether integer values are allowed when deserializing. /// - /// true if integers are allowed; otherwise, false. + /// true if integers are allowed when deserializing; otherwise, false. public bool AllowIntegerValues { get; set; } ///