RangeTest.Equality C# (CSharp) Method

Equality() private method

private Equality ( ) : void
return void
    public void Equality()
    {
        var r = new[] {
            new[] {Range.NegativeX, Range.NegativeX},
            new[] {Range.NegativeY},
            new[] {Range.NegativeXPositiveY},
            new[] {Range.NegativeXNegativeY},
            new[] {Range.PositiveX},
            new[] {Range.FromStartToFinish(Dir.AlongPositiveX, Dir.AlongNegativeY, moveClockwise: false)},
        };
        for (var i = 0; i < r.Length; i++) {
            var g1 = r[i];
            for (var j = 0; j < r.Length; j++) {
                var g2 = r[j];
                foreach (var e1 in g1) {
                    foreach (var e2 in g2) {
                        Assert.AreEqual(i != j, e1 != e2);
                        Assert.AreEqual(i == j, e1 == e2);
                        Assert.AreEqual(i == j, e1.Equals(e2));
                        Assert.AreEqual(i == j, e1.Equals(e2, Turn.FromNaturalAngle(0.001)));
                        Assert.AreEqual(i == j, e1.Equals((object)e2));
                        Assert.IsTrue(i != j || e1.GetHashCode() == e2.GetHashCode());
                    }
                }
            }
        }
        var dpx = Range.FromCenterAndMaxDeviation(Dir.AlongPositiveX, Turn.OneDegreeClockwise);
        var dpx2 = Range.FromCenterAndMaxDeviation(Dir.AlongPositiveX+Turn.OneDegreeClockwise*1.001, Turn.OneDegreeClockwise*1.001);
        Assert.IsTrue(dpx.Equals(dpx2, Turn.OneTurnClockwise * 0.01));
        Assert.IsTrue(dpx.Equals(dpx, Turn.Zero));
        Assert.IsTrue(!dpx.Equals(dpx2, Turn.Zero));
    }