コード例 #1
0
    public void AreDifferentWhenOneAttributedPropertyIsDifferent()
    {
        var left = new Target
        {
            Property1 = "Test",
            Property2 = "a string",
        };

        var right = new Target
        {
            Property1 = "Test",
            Property2 = "b string",
        };

        Assert.NotEqual(left, right);
        Assert.NotEqual(left.GetHashCode(), right.GetHashCode());
    }
コード例 #2
0
    public void AreDifferentWhenAllPropertiesAreNonCaseEqual()
    {
        var left = new Target
        {
            Property1 = "Test",
            Property2 = "a string",
        };

        var right = new Target
        {
            Property1 = "test",
            Property2 = "A string",
        };

        Assert.NotEqual(left, right);
        Assert.NotEqual(left.GetHashCode(), right.GetHashCode());
    }
コード例 #3
0
    public void AreEqualWhenAllPropertiesAreCaseEqual()
    {
        var left = new Target
        {
            Property1 = "Test",
            Property2 = "a string",
        };

        var right = new Target
        {
            Property1 = "test",
            Property2 = "a string",
        };

        Assert.Equal(left, right);
        Assert.Equal(left.GetHashCode(), right.GetHashCode());
        Assert.Equal(HashCode.Aggregate(0, HashCode.Aggregate(StringComparer.OrdinalIgnoreCase.GetHashCode(left.Property1), left.Property2.GetHashCode())), left.GetHashCode());
    }
コード例 #4
0
    public void ImplementsIEquatable()
    {
        var target = new Target();

        Assert.True(target is IEquatable <Target>);
    }