public void DataPolygon_Equality() { DataLinearRing dataLinearRing1 = new DataLinearRing(); dataLinearRing1.Points = new List <DataPoint>(); dataLinearRing1.Points.Add(new DataPoint(1.0, 2.0, null)); dataLinearRing1.Points.Add(new DataPoint(2.0, 3.0, null)); dataLinearRing1.Points.Add(new DataPoint(3.0, 4.0, null)); DataLinearRing dataLinearRing2 = new DataLinearRing(); dataLinearRing2.Points = new List <DataPoint>(); dataLinearRing2.Points.Add(new DataPoint(1.0, 2.0, null)); dataLinearRing2.Points.Add(new DataPoint(2.0, 3.0, null)); dataLinearRing2.Points.Add(new DataPoint(3.0, 4.0, null)); DataPolygon dataPolygon1 = new DataPolygon(); dataPolygon1.LinearRings = new List <DataLinearRing>(); dataPolygon1.LinearRings.Add(dataLinearRing1); DataPolygon dataPolygon2 = new DataPolygon(); dataPolygon2.LinearRings = new List <DataLinearRing>(); dataPolygon2.LinearRings.Add(dataLinearRing2); Assert.AreEqual(dataPolygon1, dataPolygon2); Assert.AreEqual(dataPolygon1.GetHashCode(), dataPolygon2.GetHashCode()); dataLinearRing2.Points.RemoveAt(2); Assert.AreNotEqual(dataPolygon1, dataPolygon2); Assert.AreNotEqual(dataPolygon1.GetHashCode(), dataPolygon2.GetHashCode()); dataLinearRing2.Points.Add(new DataPoint(3.0, 4.0, null)); Assert.AreEqual(dataPolygon1, dataPolygon2); Assert.AreEqual(dataPolygon1.GetHashCode(), dataPolygon2.GetHashCode()); DataLinearRing dataLinearRing3 = new DataLinearRing(); dataLinearRing3.Points = new List <DataPoint>(); dataLinearRing3.Points.Add(new DataPoint(1.0, 2.0, null)); dataLinearRing3.Points.Add(new DataPoint(2.0, 5.0, null)); dataLinearRing3.Points.Add(new DataPoint(3.0, 4.0, null)); DataPolygon dataPolygon3 = new DataPolygon(); dataPolygon3.LinearRings = new List <DataLinearRing>(); dataPolygon3.LinearRings.Add(dataLinearRing3); Assert.AreNotEqual(dataPolygon1, dataPolygon3); Assert.AreNotEqual(dataPolygon1.GetHashCode(), dataPolygon3.GetHashCode()); }