Exemplo n.º 1
0
 public void VerifySchemaDetection(string schemaTable, string tableSchema, string table)
 {
     SharpMap.Data.Providers.SqlServer2008 sq = new SharpMap.Data.Providers.SqlServer2008("", schemaTable, "oidcolumn");
     Assert.AreEqual(tableSchema, sq.TableSchema);
     Assert.AreEqual(table, sq.Table);
     Assert.AreEqual("oidcolumn", sq.ObjectIdColumn);
 }
Exemplo n.º 2
0
 public void VerifySchemaDetection()
 {
     SharpMap.Data.Providers.SqlServer2008 sq = new SharpMap.Data.Providers.SqlServer2008("", "schema.TableName", "oidcolumn");
     Assert.AreEqual("schema", sq.TableSchema);
     Assert.AreEqual("TableName", sq.Table);
     Assert.AreEqual("oidcolumn", sq.ObjectIdColumn);
 }
Exemplo n.º 3
0
        public void TestGetFeatureInvalidGeometry(SqlServerProviderMode providerMode, SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType, bool validateGeometries)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(providerMode, spatialType);
            sq.ValidateGeometries = validateGeometries;

            var feature = sq.GetFeature(_idInvalidGeom);

            NUnit.Framework.Assert.IsNotNull(feature);
            if (providerMode == SqlServerProviderMode.NativeSqlBytes)
            {
                // client side conversion always attempts validation
                NUnit.Framework.Assert.IsTrue(!feature.Geometry.IsEmpty && feature.Geometry.IsValid);
            }
            else
            {
                if (validateGeometries)
                {
                    NUnit.Framework.Assert.IsTrue(!feature.Geometry.IsEmpty && feature.Geometry.IsValid);
                }
                else
                {
                    NUnit.Framework.Assert.IsTrue(feature.Geometry.IsEmpty);
                }
            }
        }
Exemplo n.º 4
0
        public void TestGetFeatureNonExisting(SqlServerProviderMode providerMode, SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(providerMode, spatialType);

            var feature = sq.GetFeature(99999999);

            NUnit.Framework.Assert.IsNull(feature);
        }
Exemplo n.º 5
0
        public void TestGetFeatureCount()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            int count = sq.GetFeatureCount();

            Assert.AreEqual(100, count);
        }
Exemplo n.º 6
0
        public void TestGetFeature()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            var feature = sq.GetFeature(1);

            Assert.IsNotNull(feature);
        }
Exemplo n.º 7
0
        public void TestGetFeatureNonExisting()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            var feature = sq.GetFeature(99999999);

            Assert.IsNull(feature);
        }
Exemplo n.º 8
0
        public void TestGetExtentsSpatialIndex()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            sq.ExtentsMode = SharpMap.Data.Providers.SqlServer2008ExtentsMode.SpatialIndex;
            GeoAPI.Geometries.Envelope extents = sq.GetExtents();

            Assert.IsNotNull(extents);
        }
Exemplo n.º 9
0
        public void TestGetFeatureEmptyGeometry(SqlServerProviderMode providerMode, SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(providerMode, spatialType);

            var feature = sq.GetFeature(_idEmptyGeom);

            NUnit.Framework.Assert.IsNotNull(feature);
            NUnit.Framework.Assert.IsTrue(feature.Geometry.IsEmpty);
        }
Exemplo n.º 10
0
        public void TestGetFeatureCount(SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(spatialType);

            int count = sq.GetFeatureCount();

            // includes NULL, EMPTY, and INVALID geoms
            NUnit.Framework.Assert.AreEqual(_numFeatures, count);
        }
Exemplo n.º 11
0
        public void TestGetGeometriesInView()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            var geometries = sq.GetGeometriesInView(GetTestEnvelope());

            Assert.IsNotNull(geometries);
            Assert.AreEqual(100, geometries.Count);
        }
Exemplo n.º 12
0
        public void TestGetObjectIDsInView(SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType, bool validateGeometries)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(spatialType);
            sq.ValidateGeometries = validateGeometries;

            var objectIds = sq.GetObjectIDsInView(GetTestEnvelope(spatialType));

            NUnit.Framework.Assert.AreEqual(sq.ValidateGeometries ? _numValidatedGeoms : _numValidGeoms, objectIds.Count);
        }
Exemplo n.º 13
0
        public void TestGetObjectIDsInView()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            var objectIds = sq.GetObjectIDsInView(GetTestEnvelope());

            Assert.IsNotNull(objectIds);
            Assert.AreEqual(100, objectIds.Count);
        }
Exemplo n.º 14
0
        public void TestGetExtentsQueryIndividualFeatures(SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(spatialType);

            sq.ExtentsMode = SharpMap.Data.Providers.SqlServer2008ExtentsMode.QueryIndividualFeatures;
            GeoAPI.Geometries.Envelope extents = sq.GetExtents();

            NUnit.Framework.Assert.IsNotNull(extents);
        }
Exemplo n.º 15
0
        public void TestGetExtentsQueryIndividualFeatures()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            sq.ExtentsMode = SharpMap.Data.Providers.SqlServer2008ExtentsMode.QueryIndividualFeatures;
            GeoAPI.Geometries.Envelope extents = sq.GetExtents();

            Assert.IsNotNull(extents);
        }
Exemplo n.º 16
0
        public void TestGetFeatureCountWithDefinitionQuery(SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(SqlServerProviderMode.WellKnownBinary, spatialType);

            sq.DefinitionQuery = "NAME LIKE 'A%'";

            int count = sq.GetFeatureCount();

            NUnit.Framework.Assert.LessOrEqual(count, _numValidGeoms);
        }
Exemplo n.º 17
0
        public void TestGetGeometriesInViewFORCESEEK()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            sq.ForceSeekHint = true;
            var geometries = sq.GetGeometriesInView(GetTestEnvelope());

            Assert.IsNotNull(geometries);
            Assert.AreEqual(100, geometries.Count());
        }
Exemplo n.º 18
0
        public void TestExecuteIntersectionQuery()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet();

            sq.ExecuteIntersectionQuery(GetTestEnvelope(), ds);

            Assert.AreEqual(100, ds.Tables[0].Rows.Count);
        }
Exemplo n.º 19
0
        public void TestGetFeatureCountWithDefinitionQuery()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            sq.DefinitionQuery = "NAME LIKE 'A%'";

            int count = sq.GetFeatureCount();

            Assert.LessOrEqual(count, 100);
        }
Exemplo n.º 20
0
        public void TestGetGeometriesInViewFORCEINDEX()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            sq.ForceIndex = "IX_roads_ugl_GEOM";
            var geometries = sq.GetGeometriesInView(GetTestEnvelope());

            Assert.IsNotNull(geometries);
            Assert.AreEqual(100, geometries.Count);
        }
Exemplo n.º 21
0
        public void TestGetGeometriesInViewDefinitionQuery(SqlServerProviderMode providerMode, SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(providerMode, spatialType);

            sq.DefinitionQuery = "NAME LIKE 'A%'";

            var geometries = sq.GetGeometriesInView(GetTestEnvelope(spatialType));

            NUnit.Framework.Assert.IsNotNull(geometries);
            NUnit.Framework.Assert.LessOrEqual(geometries.Count, _numValidGeoms);
        }
Exemplo n.º 22
0
        public void TestGetGeometriesInViewNOLOCK(SqlServerProviderMode providerMode, SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType, bool validateGeometries)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(providerMode, spatialType);

            sq.NoLockHint         = true;
            sq.ValidateGeometries = validateGeometries;

            var geometries = sq.GetGeometriesInView(GetTestEnvelope(spatialType));

            NUnit.Framework.Assert.AreEqual(sq.ValidateGeometries ? _numValidatedGeoms : _numValidGeoms, geometries.Count);
        }
Exemplo n.º 23
0
        public void TestGetGeometriesInViewDefinitionQuery()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            sq.DefinitionQuery = "NAME LIKE 'A%'";

            var geometries = sq.GetGeometriesInView(GetTestEnvelope());

            Assert.IsNotNull(geometries);
            Assert.LessOrEqual(geometries.Count, 100);
        }
Exemplo n.º 24
0
        public void TestExecuteIntersectionQuery(SqlServerProviderMode providerMode, SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType, bool validateGeometries)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(providerMode, spatialType);

            sq.ValidateGeometries = validateGeometries;

            SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet();

            sq.ExecuteIntersectionQuery(GetTestEnvelope(spatialType), ds);

            NUnit.Framework.Assert.AreEqual(sq.ValidateGeometries ? _numValidatedGeoms : _numValidGeoms, ds.Tables[0].Rows.Count);
        }
Exemplo n.º 25
0
        public void TestGetGeometriesInViewAllHints()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            sq.NoLockHint    = true;
            sq.ForceSeekHint = true;
            sq.ForceIndex    = "IX_roads_ugl_GEOM";
            var geometries = sq.GetGeometriesInView(GetTestEnvelope());

            Assert.IsNotNull(geometries);
            Assert.AreEqual(100, geometries.Count());
        }
Exemplo n.º 26
0
        public void VerifySchemaDetection(string schemaTable, string tableSchema, string table)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = new SharpMap.Data.Providers.SqlServer2008("", schemaTable, "oidcolumn");
            NUnit.Framework.Assert.AreEqual(tableSchema, sq.TableSchema);
            NUnit.Framework.Assert.AreEqual(table, sq.Table);
            NUnit.Framework.Assert.AreEqual("oidcolumn", sq.ObjectIdColumn);

            System.Reflection.PropertyInfo pi = sq.GetType().GetProperty("QualifiedTable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.GetProperty);
            string qualifiedTable             = (string)pi.GetValue(sq, null);

            NUnit.Framework.Assert.IsTrue(qualifiedTable.Contains(tableSchema));
            NUnit.Framework.Assert.IsTrue(qualifiedTable.Contains(table));
        }
Exemplo n.º 27
0
        public void TestGetGeometriesInViewFORCEINDEX(SqlServerProviderMode providerMode, SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType, bool validateGeometries)
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(providerMode, spatialType);

            sq.ForceIndex         = spatialType == SharpMap.Data.Providers.SqlServerSpatialObjectType.Geometry ? GeometrySpatialIndex : GeographySpatialIndex;
            sq.ValidateGeometries = validateGeometries;

            var geometries = sq.GetGeometriesInView(GetTestEnvelope(spatialType));

            NUnit.Framework.Assert.IsNotNull(geometries);
            // NOTE ValidateGeometries is ignored when using ForceIndex
            NUnit.Framework.Assert.AreEqual(_numValidGeoms, geometries.Count);
        }
Exemplo n.º 28
0
        public void TestExecuteIntersectionQueryAllHints()
        {
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider();

            sq.NoLockHint    = true;
            sq.ForceSeekHint = true;
            sq.ForceIndex    = "IX_roads_ugl_GEOM";

            SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet();

            sq.ExecuteIntersectionQuery(GetTestEnvelope(), ds);

            Assert.AreEqual(100, ds.Tables[0].Rows.Count);
        }
Exemplo n.º 29
0
        public void TestExecuteIntersectionQueryExceedGeogMaxExtents(SqlServerProviderMode providerMode, SharpMap.Data.Providers.SqlServerSpatialObjectType spatialType,
                                                                     double x1, double x2, double y1, double y2)
        {
            // occurs when user zooms out beyond map extents. For Geog, when latitude approaches 90 N or S can result in
            // error 24206: "The specified input cannot be accepted because it contains an edge with antipodal points."
            // Longitudes exceeding -179.99999999 or 180.0 are "wrapped" resulting in unexpected polygon (also contributes to err 24206)
            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProvider(providerMode, spatialType);

            SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet();

            sq.ExecuteIntersectionQuery(new GeoAPI.Geometries.Envelope(x1, x2, y1, y2), ds);

            NUnit.Framework.Assert.AreEqual(sq.ValidateGeometries ? _numValidatedGeoms : _numValidGeoms, ds.Tables[0].Rows.Count);
        }
Exemplo n.º 30
0
        public void TestGetGeometriesInViewEx()
        {
            // Note:
            // This test may fail with an InvalidCastException. This is caused by multiple versions of the
            // Microsoft.SqlServer.Types assembly being available (e.g. SQL 2008 and 2012).
            // This can be solved with a <bindingRedirect> in the .config file.
            // http://connect.microsoft.com/SQLServer/feedback/details/685654/invalidcastexception-retrieving-sqlgeography-column-in-ado-net-data-reader

            SharpMap.Data.Providers.SqlServer2008 sq = GetTestProviderEx();

            var geometries = sq.GetGeometriesInView(GetTestEnvelope());

            Assert.IsNotNull(geometries);
            Assert.AreEqual(100, geometries.Count);
        }
Exemplo n.º 31
0
 public void VerifySchemaDetection()
 {
     SharpMap.Data.Providers.SqlServer2008 sq = new SharpMap.Data.Providers.SqlServer2008("", "schema.TableName", "oidcolumn");
     Assert.AreEqual("schema", sq.TableSchema);
     Assert.AreEqual("TableName", sq.Table);
     Assert.AreEqual("oidcolumn", sq.ObjectIdColumn);
 }