From 16882644deca0ff8b84e1294b6429466727936f4 Mon Sep 17 00:00:00 2001 From: asl Date: Thu, 15 Oct 2015 15:58:29 +0300 Subject: [PATCH] #667: test for remove --- .../reference_data/LandCoverMap_Remove_1.png | Bin 0 -> 7817 bytes .../test_HYDROData_LandCoverMap.cxx | 43 ++++++++++++++++-- src/HYDRO_tests/test_HYDROData_LandCoverMap.h | 2 + 3 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 src/HYDRO_tests/reference_data/LandCoverMap_Remove_1.png diff --git a/src/HYDRO_tests/reference_data/LandCoverMap_Remove_1.png b/src/HYDRO_tests/reference_data/LandCoverMap_Remove_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f8529e511ff5653cafce9dd3f43b898aa706451d GIT binary patch literal 7817 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 M_HNuiYFindByPoint( aPnt1, aType1 ) ); aList.Append( aMap->FindByPoint( aPnt2, aType2 ) ); - CPPUNIT_ASSERT_EQUAL( true, aMap->Merge( aList, "new" ) ); + //CPPUNIT_ASSERT_EQUAL( true, aMap->Merge( aList, "new" ) ); - TestViewer::show( aMap->GetShape(), AIS_Shaded, true ); + //TestViewer::show( aMap->GetShape(), AIS_Shaded, true ); //TestViewer::show( BRepBuilderAPI_MakeEdge( aPnt1, aPnt2 ).Edge(), QColor( Qt::black ), AIS_Shaded ); - TestViewer::AssertEqual( "LandCoverMap_Merge_1" ); + //TestViewer::AssertEqual( "LandCoverMap_Merge_1" ); + + aDoc->Close(); +} + +void test_HYDROData_LandCoverMap::test_remove() +{ + Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1); + + Handle(HYDROData_LandCoverMap) aMap = + Handle(HYDROData_LandCoverMap)::DownCast( aDoc->CreateObject( KIND_LAND_COVER_MAP ) ); + + CPPUNIT_ASSERT_EQUAL( KIND_LAND_COVER_MAP, aMap->GetKind() ); + + TopoDS_Face aLC1 = LandCover( QList() << 12 << 19 << 82 << 9 << 126 << 53 << 107 << 80 << 29 << 75 ); + + CPPUNIT_ASSERT_EQUAL( true, aMap->LocalPartition( aLC1, "test1" ) ); + + TopoDS_Face aLC2 = LandCover( QList() << 21 << 34 << 24 << 25 << 37 << 37 << 40 << 61 << + 44 << 95 << 85 << 100 << 104 << 66 << 107 << 33 << + 128 << 18 << 140 << 50 << 131 << 89 << 104 << 111 << + 31 << 114 ); + CPPUNIT_ASSERT_EQUAL( true, aMap->LocalPartition( aLC2, "test2" ) ); + + TopoDS_Face aLC3 = LandCover( QList() << 4 << 54 << 1 << 47 << 51 << 45 << + 127 << 42 << 145 << 43 << 148 << 60 << 90 << 65 ); + CPPUNIT_ASSERT_EQUAL( true, aMap->LocalPartition( aLC3, "test3" ) ); + + QString aType1, aType2; + gp_Pnt2d aPnt1( 25, 35 ); + gp_Pnt2d aPnt2( 45, 55 ); + TopTools_ListOfShape aList; + aList.Append( aMap->FindByPoint( aPnt1, aType1 ) ); + aList.Append( aMap->FindByPoint( aPnt2, aType2 ) ); + CPPUNIT_ASSERT_EQUAL( true, aMap->Remove( aList ) ); + + TestViewer::show( aMap->GetShape(), AIS_Shaded, true ); + TestViewer::AssertEqual( "LandCoverMap_Remove_1" ); aDoc->Close(); } diff --git a/src/HYDRO_tests/test_HYDROData_LandCoverMap.h b/src/HYDRO_tests/test_HYDROData_LandCoverMap.h index 726e4ffb..2e7cdd40 100644 --- a/src/HYDRO_tests/test_HYDROData_LandCoverMap.h +++ b/src/HYDRO_tests/test_HYDROData_LandCoverMap.h @@ -28,12 +28,14 @@ class test_HYDROData_LandCoverMap : public CppUnit::TestFixture CPPUNIT_TEST( test_add_2_objects ); CPPUNIT_TEST( test_split_by_polyline ); CPPUNIT_TEST( test_merge ); + CPPUNIT_TEST( test_remove ); CPPUNIT_TEST_SUITE_END(); public: void test_add_2_objects(); void test_split_by_polyline(); void test_merge(); + void test_remove(); }; CPPUNIT_TEST_SUITE_REGISTRATION( test_HYDROData_LandCoverMap ); -- 2.39.2