コード例 #1
0
        public void RenderFeatureTest()
        {
            IFeatureProvider   provider       = DataSourceHelper.CreateGeometryDatasource(_factories.GeoFactory);
            TestVectorRenderer vectorRenderer = new TestVectorRenderer();
            BasicGeometryRenderer2D <RenderObject> geometryRenderer =
                new BasicGeometryRenderer2D <RenderObject>(vectorRenderer);

            FeatureDataTable       features = new FeatureDataTable(_factories.GeoFactory);
            IExtents               extents  = provider.GetExtents();
            FeatureQueryExpression query    = new FeatureQueryExpression(extents.ToGeometry(),
                                                                         SpatialOperation.Intersects,
                                                                         provider);

            features.Merge(provider.ExecuteFeatureQuery(query) as IEnumerable <IFeatureDataRecord>,
                           provider.GeometryFactory);

            foreach (FeatureDataRow feature in features)
            {
                IGeometry           g = feature.Geometry;
                List <RenderObject> renderedObjects = new List <RenderObject>(geometryRenderer.RenderFeature(feature));

                for (Int32 i = 0; i < renderedObjects.Count; i++)
                {
                    RenderObject ro = renderedObjects[i];
                }
            }
        }
コード例 #2
0
        public void IProviderMethodsPassThroughAdapter()
        {
            MockRepository            mocks         = new MockRepository();
            IFeatureProvider          adapted       = mocks.CreateMock <IFeatureProvider>();
            ICoordinateTransformation transformStub =
                MockRepository.GenerateStub <ICoordinateTransformation>();
            Expression queryStub =
                MockRepository.GenerateStub <Expression>();
            Object objectStub =
                MockRepository.GenerateStub <Object>();
            IExtents extentsStub =
                MockRepository.GenerateStub <IExtents>();
            ICoordinateSystem coordinateSystemStub =
                MockRepository.GenerateStub <ICoordinateSystem>();

            using (mocks.Unordered())
            {
                adapted.Close();
                Expect.Call(adapted.ConnectionId)
                .Return("connectionid");
                adapted.CoordinateTransformation = transformStub;
                Expect.Call(adapted.CoordinateTransformation)
                .Return(transformStub);
                Expect.Call(adapted.ExecuteQuery(queryStub))
                .Return(objectStub);
                Expect.Call(adapted.GetExtents())
                .Return(extentsStub);
                Expect.Call(adapted.IsOpen)
                .Return(true);
                adapted.Open();
                Expect.Call(adapted.SpatialReference)
                .Return(coordinateSystemStub);
                //adapted.Srid = 1;
                Expect.Call(adapted.Srid)
                .Return("2");
            }
            mocks.ReplayAll();

            AsyncFeatureProviderAdapter adapter = new AsyncFeatureProviderAdapter(adapted);

            adapter.Close();
            Assert.Equal("connectionid", adapter.ConnectionId);
            adapter.CoordinateTransformation = transformStub;
            Assert.Same(transformStub, adapter.CoordinateTransformation);
            Assert.Same(objectStub, adapter.ExecuteQuery(queryStub));
            Assert.Same(extentsStub, adapter.GetExtents());
            Assert.True(adapter.IsOpen);
            adapter.Open();
            Assert.Same(coordinateSystemStub, adapter.SpatialReference);
            //adapter.Srid = 1;
            Assert.Equal("2", adapter.Srid);

            mocks.VerifyAll();
        }