public void Equality() { var path1 = new FieldPath("a", "b"); var path2 = new FieldPath("a", "b"); var path3 = FieldPath.FromDotSeparatedString("a.b"); var path4 = new FieldPath("a", "c"); // Equals(FieldPath) Assert.True(path1.Equals(path2)); Assert.True(path1.Equals(path3)); Assert.False(path1.Equals(path4)); // Equals(object) Assert.True(path1.Equals((object)path2)); Assert.True(path1.Equals((object)path3)); Assert.False(path1.Equals((object)path4)); Assert.Equal(path1.GetHashCode(), path2.GetHashCode()); Assert.Equal(path1.GetHashCode(), path3.GetHashCode()); Assert.NotEqual(path1.GetHashCode(), path4.GetHashCode()); }