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; } ///