From bf522f78b31f7775720edf451287e887ddfa3d1c Mon Sep 17 00:00:00 2001 From: isn Date: Mon, 20 Nov 2017 15:06:26 +0300 Subject: [PATCH] refs #1427 test --- .../test_HYDROData_LandCoverMap.cxx | 69 +++++++++++++++++++ src/HYDRO_tests/test_HYDROData_LandCoverMap.h | 2 + 2 files changed, 71 insertions(+) diff --git a/src/HYDRO_tests/test_HYDROData_LandCoverMap.cxx b/src/HYDRO_tests/test_HYDROData_LandCoverMap.cxx index a958adb0..c41b6dd0 100644 --- a/src/HYDRO_tests/test_HYDROData_LandCoverMap.cxx +++ b/src/HYDRO_tests/test_HYDROData_LandCoverMap.cxx @@ -1293,3 +1293,72 @@ void test_HYDROData_LandCoverMap::test_shp_clc_classification_check() } +void test_HYDROData_LandCoverMap::test_lcm_classification() +{ + Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1); + + Handle(HYDROData_StricklerTable) aTable = + Handle(HYDROData_StricklerTable)::DownCast( aDoc->CreateObject( KIND_STRICKLER_TABLE ) ); + CPPUNIT_ASSERT_EQUAL( true, aTable->Import( DEF_STR_PATH ) ); + + Handle(HYDROData_PolylineXY) ContourP = Handle(HYDROData_PolylineXY)::DownCast( aDoc->CreateObject( KIND_POLYLINEXY ) ); + ContourP->SetName( "Contour" ); + ContourP->AddSection( "Section_1", HYDROData_PolylineXY::SECTION_POLYLINE, true ); + ContourP->AddPoint( 0, gp_XY( 89.57, 81.63 ) ); + ContourP->AddPoint( 0, gp_XY( 479.59, 81.63 ) ); + ContourP->AddPoint( 0, gp_XY( 472.79, 671.20 ) ); + ContourP->AddPoint( 0, gp_XY( 69.16, 696.15 ) ); + ContourP->Update(); + + Handle(HYDROData_PolylineXY) Poly_Sens_TrigoP = + Handle(HYDROData_PolylineXY)::DownCast( aDoc->CreateObject( KIND_POLYLINEXY ) ); + Poly_Sens_TrigoP->SetName( "Poly_Sens_Trigo" ); + Poly_Sens_TrigoP->SetZLevel( 3 ); + Poly_Sens_TrigoP->AddSection( "Section_1", HYDROData_PolylineXY::SECTION_POLYLINE, 1 ); + Poly_Sens_TrigoP->AddPoint( 0, gp_XY( 130.46, 223.57 ) ); + Poly_Sens_TrigoP->AddPoint( 0, gp_XY( 252.16, 239.58 ) ); + Poly_Sens_TrigoP->AddPoint( 0, gp_XY( 240.95, 498.99 ) ); + Poly_Sens_TrigoP->AddPoint( 0, gp_XY( 119.26, 510.20 ) ); + Poly_Sens_TrigoP->AddPoint( 0, gp_XY( 141.67, 378.89 ) ); + Poly_Sens_TrigoP->Update(); + + Handle(HYDROData_PolylineXY) Polyline_Sens_HoraireP = + Handle(HYDROData_PolylineXY)::DownCast( aDoc->CreateObject( KIND_POLYLINEXY ) ); + Polyline_Sens_HoraireP->SetName( "Polyline_Sens_Horaire" ); + Polyline_Sens_HoraireP->SetZLevel( 4 ); + Polyline_Sens_HoraireP->AddSection( "Section_1", HYDROData_PolylineXY::SECTION_POLYLINE, 1 ); + Polyline_Sens_HoraireP->AddPoint( 0, gp_XY( 313.01, 470.16 ) ); + Polyline_Sens_HoraireP->AddPoint( 0, gp_XY( 313.01, 627.09 ) ); + Polyline_Sens_HoraireP->AddPoint( 0, gp_XY( 426.70, 633.49 ) ); + Polyline_Sens_HoraireP->AddPoint( 0, gp_XY( 442.71, 398.11 ) ); + Polyline_Sens_HoraireP->Update(); + + + Handle(HYDROData_LandCoverMap) Land_cover_map_1 = + Handle(HYDROData_LandCoverMap)::DownCast( aDoc->CreateObject( KIND_LAND_COVER_MAP ) ); + Land_cover_map_1->SetName( "Land cover map_1" ); + Land_cover_map_1->SetZLevel( 2 ); + CPPUNIT_ASSERT_EQUAL( true, Land_cover_map_1->Add( ContourP, "Vignobles" ) ); + CPPUNIT_ASSERT_EQUAL( true, Land_cover_map_1->Add( Poly_Sens_TrigoP, "Oliveraies" ) ); + CPPUNIT_ASSERT_EQUAL( true, Land_cover_map_1->Add( Polyline_Sens_HoraireP, "Estuaires" ) ); + + Handle(HYDROGUI_LandCoverMapPrs) aPrs = new HYDROGUI_LandCoverMapPrs( Land_cover_map_1 ); + TopoDS_Shape aSh = Land_cover_map_1->GetShape(); + TestViewer::show( aPrs, AIS_Shaded, 0, true, "Land_cover_map_1" ); + + std::vector pnts; + pnts.push_back(gp_XY(90, 90)); + pnts.push_back(gp_XY(300, 90)); + pnts.push_back(gp_XY(200, 350)); + pnts.push_back(gp_XY(400, 500)); + std::vector theCoeffs; + Land_cover_map_1->ClassifyPoints(pnts, aTable, theCoeffs, -1, true ); + CPPUNIT_ASSERT_EQUAL((int)theCoeffs.size(), 4); + CPPUNIT_ASSERT_DOUBLES_EQUAL(theCoeffs[0], 24, 0.0001); + CPPUNIT_ASSERT_DOUBLES_EQUAL(theCoeffs[1], 24, 0.0001); + CPPUNIT_ASSERT_DOUBLES_EQUAL(theCoeffs[2], 26, 0.0001); + CPPUNIT_ASSERT_DOUBLES_EQUAL(theCoeffs[3], 98, 0.0001); + + aDoc->Close(); +} + diff --git a/src/HYDRO_tests/test_HYDROData_LandCoverMap.h b/src/HYDRO_tests/test_HYDROData_LandCoverMap.h index c473c4a1..ea5413ce 100644 --- a/src/HYDRO_tests/test_HYDROData_LandCoverMap.h +++ b/src/HYDRO_tests/test_HYDROData_LandCoverMap.h @@ -45,6 +45,7 @@ class test_HYDROData_LandCoverMap : public CppUnit::TestFixture CPPUNIT_TEST( test_assign_to_calc_case ); CPPUNIT_TEST( test_export_telemac ); CPPUNIT_TEST( test_copy ); + CPPUNIT_TEST( test_lcm_classification ); #ifdef SHP_TESTS CPPUNIT_TEST( test_shp_import_cyp ); CPPUNIT_TEST( test_shp_import_clc_dec ); @@ -73,6 +74,7 @@ public: void test_dump_python(); void test_transparent_prs(); void test_assign_to_calc_case(); + void test_lcm_classification(); void test_shp_import_cyp(); void test_shp_import_clc_dec(); void test_shp_import_nld_areas(); -- 2.30.2