Example #1
0
        public void Point3D()
        {
            //Do various IPoint method calls to cover the point class with sufficient testing
            IPoint3D p0 = _geoFactory.CreatePoint3D();
            IPoint2D p  = _geoFactory.CreatePoint2D(23, 21);
            IPoint3D p1 = _geoFactory.CreatePoint3D(450, 120, 34);
            IPoint3D p2 = _geoFactory.CreatePoint3D(p, 94);

            Assert.IsTrue(p0.IsEmpty);
            Assert.IsFalse(p1.IsEmpty);
            Assert.IsFalse(p2.IsEmpty);

            Assert.AreNotEqual(p, p2);
            Assert.AreEqual(94, p2.Z);

            Assert.AreNotSame(p1.Clone(), p1);
            //p0 = p1.Clone();
            //p0.X += 100;
            //p0.Y = 150;
            //p0.Z += 499;
            p0 = _geoFactory.CreatePoint3D(p0, (p0[Ordinates.Z]) + (p0[Ordinates.Z]));
            Assert.AreEqual(_geoFactory.CreatePoint3D(550, 150, 1066), p0);
            Assert.AreEqual(p2.Coordinate, p2.Extents.Min);
            Assert.AreEqual(p2.Coordinate, p2.Extents.Max);
            Assert.AreEqual(3, p2.OrdinateCount);
            Assert.AreEqual(_geoFactory.CreatePoint3D(-27, 1, 123), p2.Add(_geoFactory.CreatePoint3D(-50, -20, 29)));
            Assert.AreEqual(_geoFactory.CreatePoint3D(73, 1, 0), p2.Subtract(_geoFactory.CreatePoint2D(-50, 20)));
            Assert.AreEqual(_geoFactory.CreatePoint3D(46, 42, 188), p2.Multiply(2));
            Assert.AreEqual(0, p2.Dimension);
            Assert.AreEqual(23, p2.X, TestConstants.Epsilon);
            Assert.AreEqual(21, p2.Y, TestConstants.Epsilon);
            Assert.AreEqual(94, p2.Z, TestConstants.Epsilon);
            Assert.IsNull(p2.Boundary);
            Assert.AreEqual(p2.X.GetHashCode() ^ p2.Y.GetHashCode() ^ p2.Z.GetHashCode() ^ p2.IsEmpty.GetHashCode(),
                            p2.GetHashCode());
            Assert.Less(p2.CompareTo(p1), 0);
            Assert.Greater(p1.CompareTo(p2), 0);
            Assert.AreEqual(0, p2.CompareTo(_geoFactory.CreatePoint3D(23, 21, 94)));
            Assert.AreEqual(0, p2.CompareTo(_geoFactory.CreatePoint2D(23, 21)));
        }