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());
        }