TEST(FerryFilterTest, test_ferry_copy_xml) { PipelineManager mgr; mgr.readPipeline(Support::configuredpath("filters/ferry.xml")); mgr.execute(); ConstPointTableRef table(mgr.pointTable()); PointViewSet viewSet = mgr.views(); EXPECT_EQ(viewSet.size(), 1u); PointViewPtr view = *viewSet.begin(); EXPECT_EQ(view->size(), 1065u); Dimension::Id::Enum state_plane_x = table.layout()->findDim("StatePlaneX"); Dimension::Id::Enum state_plane_y = table.layout()->findDim("StatePlaneY"); double lon = view->getFieldAs<double>(Dimension::Id::X, 0); double lat = view->getFieldAs<double>(Dimension::Id::Y, 0); double x = view->getFieldAs<double>(state_plane_x, 0); double y = view->getFieldAs<double>(state_plane_y, 0); EXPECT_DOUBLE_EQ(-117.2501328350574, lon); EXPECT_DOUBLE_EQ(49.341077824192915, lat); EXPECT_DOUBLE_EQ(637012.24, x); EXPECT_DOUBLE_EQ(849028.31, y); }
TEST(MergeTest, test4) { using namespace pdal; PipelineManager mgr; mgr.readPipeline(Support::configuredpath("filters/merge.json")); mgr.execute(); PointViewSet viewSet = mgr.views(); EXPECT_EQ(1u, viewSet.size()); PointViewPtr view = *viewSet.begin(); EXPECT_EQ(2130u, view->size()); }
TEST(MergeTest, test2) { using namespace pdal; PipelineManager mgr; PipelineReader specReader(mgr); specReader.readPipeline(Support::configuredpath("filters/merge2.xml")); mgr.execute(); PointViewSet viewSet = mgr.views(); EXPECT_EQ(viewSet.size(), 1u); PointViewPtr view = *viewSet.begin(); EXPECT_EQ(view->size(), 2130u); }
TEST_F(PythonFilterTest, pipelineJSON) { PipelineManager manager; manager.readPipeline( Support::configuredpath("plang/programmable-update-y-dims.json")); manager.execute(); PointViewSet viewSet = manager.views(); EXPECT_EQ(viewSet.size(), 1u); PointViewPtr view = *viewSet.begin(); for (PointId idx = 0; idx < 10; ++idx) { int32_t y = view->getFieldAs<int32_t>(Dimension::Id::Y, idx); EXPECT_EQ(y, 314); } }
// Make sure we handle repeated options properly TEST(json, issue_1941) { PipelineManager manager; std::string file; file = Support::configuredpath("pipeline/range_multi_limits.json"); manager.readPipeline(file); EXPECT_EQ(manager.execute(), (point_count_t)5); const PointViewSet& s = manager.views(); EXPECT_EQ(s.size(), 1U); PointViewPtr view = *s.begin(); EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::X, 0), 3); EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::X, 1), 4); EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::X, 2), 5); EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::X, 3), 8); EXPECT_EQ(view->getFieldAs<int>(Dimension::Id::X, 4), 9); PipelineManager manager2; file = Support::configuredpath("pipeline/range_bad_limits.json"); EXPECT_THROW(manager2.readPipeline(file), pdal_error); }
TEST(MergeTest, test3) { using namespace pdal; PipelineManager mgr; mgr.readPipeline(Support::configuredpath("filters/merge3.xml")); std::ostringstream oss; std::ostream& o = std::clog; auto ctx = Utils::redirect(o, oss); mgr.execute(); std::string s = oss.str(); EXPECT_TRUE(s.find("inconsistent spatial references") != s.npos); Utils::restore(o, ctx); PointViewSet viewSet = mgr.views(); EXPECT_EQ(1u, viewSet.size()); PointViewPtr view = *viewSet.begin(); EXPECT_EQ(2130u, view->size()); }