private DbPoint CreateProvider() { var p = new DbPoint(System.Data.SQLite.SQLiteFactory.Instance, "FullUri=file::memory:?cache=shared;ToFullPath=false", "DbPointProviderTest", "ID", "X", "Y"); return(p); }
public void TestDiscussionNtsAndBaffeledOleDb() { var reader = new NetTopologySuite.IO.WKTReader(); var poly = reader.Read( @"POLYGON ((428999.76819468878 360451.93329044303, 428998.25517286535 360420.80827007542, 429023.1119599645 360406.75878171506, 429004.52340613387 360451.71714446822, 429004.52340613387 360451.71714446822, 428999.76819468878 360451.93329044303))"); var table = WriteCsv(); var p = new DbPoint(OleDbFactory.Instance, "Provider=" + Properties.Settings.Default.OleDbProvider + ";Data Source=\"" + System.IO.Path.GetTempPath() + "\";" + "Extended Properties=\"text;HDR=Yes;FMT=Delimited\"", table, "ID", "X", "Y"); var extents = p.GetExtents(); NUnit.Framework.Assert.AreEqual(4, p.GetFeatureCount()); p.DefinitionQuery = "Name='One'"; NUnit.Framework.Assert.AreEqual(1, p.GetFeatureCount()); var fdr = p.GetFeature(1); NUnit.Framework.Assert.AreEqual(1, (int)fdr[0]); p.DefinitionQuery = string.Empty; var fds = new SharpMap.Data.FeatureDataSet(); p.ExecuteIntersectionQuery(extents, fds); NUnit.Framework.Assert.AreEqual(1, fds.Tables.Count); NUnit.Framework.Assert.AreEqual(4, fds.Tables[0].Rows.Count); fds.Tables.Clear(); p.ExecuteIntersectionQuery(poly, fds); NUnit.Framework.Assert.AreEqual(1, fds.Tables.Count); NUnit.Framework.Assert.AreEqual(3, fds.Tables[0].Rows.Count); var inside = new System.Collections.Generic.List <bool>(new[] { false, true, true, true }); NUnit.Framework.Assert.AreEqual(System.Linq.Enumerable.Count(inside, (b) => b == true), fds.Tables[0].Rows.Count); var ext = p.GetExtents(); var oids = p.GetObjectIDsInView(ext); NUnit.Framework.Assert.AreEqual(4, oids.Count); System.IO.File.Delete(System.IO.Path.Combine(System.IO.Path.GetTempPath(), table)); }