comparison UnitTestsSources/TestStructureSet.cpp @ 1006:4f28d9459e31 toa2019092001

Fixed unit tests and deprecated classes according to last API changes. UT all run ok.
author Benjamin Golinvaux <bgo@osimis.io>
date Fri, 20 Sep 2019 12:13:10 +0200
parents 2d69b8bee484
children efe1c44628a1
comparison
equal deleted inserted replaced
1005:7e861cfd142d 1006:4f28d9459e31
4808 4808
4809 return rectCount; 4809 return rectCount;
4810 } 4810 }
4811 4811
4812 /* 4812 /*
4813 void DicomStructure2::AddSlabBoundaries( 4813 void AddSlabBoundaries(
4814 std::vector<std::pair<double, RectangleBoundaryKind> >& boundaries, 4814 std::vector<std::pair<double, RectangleBoundaryKind> >& boundaries,
4815 const std::vector<RtStructRectanglesInSlab>& slabCuts, size_t iSlab) 4815 const std::vector<RtStructRectanglesInSlab>& slabCuts, size_t iSlab)
4816 */ 4816 */
4817 4817
4818 4818
4819 /* 4819 /*
4820 void DicomStructure2::ProcessBoundaryList( 4820 void ProcessBoundaryList(
4821 std::vector< std::pair<Point2D, Point2D> >& segments, 4821 std::vector< std::pair<Point2D, Point2D> >& segments,
4822 const std::vector<std::pair<double, RectangleBoundaryKind> >& boundaries, 4822 const std::vector<std::pair<double, RectangleBoundaryKind> >& boundaries,
4823 double y) 4823 double y)
4824 */ 4824 */
4825 4825
4828 { 4828 {
4829 std::vector< RtStructRectanglesInSlab > slabCuts; 4829 std::vector< RtStructRectanglesInSlab > slabCuts;
4830 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 4830 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
4831 4831
4832 boundaries.clear(); 4832 boundaries.clear();
4833 EXPECT_NO_THROW(DicomStructure2::AddSlabBoundaries(boundaries, slabCuts, 0)); 4833 EXPECT_NO_THROW(AddSlabBoundaries(boundaries, slabCuts, 0));
4834 ASSERT_EQ(0, boundaries.size()); 4834 ASSERT_EQ(0, boundaries.size());
4835 } 4835 }
4836 4836
4837 TEST(StructureSet, ProcessBoundaryListTopRow) 4837 TEST(StructureSet, ProcessBoundaryListTopRow)
4838 { 4838 {
4839 std::vector< RtStructRectanglesInSlab > slabCuts; 4839 std::vector< RtStructRectanglesInSlab > slabCuts;
4840 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 4840 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
4841 FillTestRectangleList(slabCuts); 4841 FillTestRectangleList(slabCuts);
4842 4842
4843 boundaries.clear(); 4843 boundaries.clear();
4844 DicomStructure2::AddSlabBoundaries(boundaries, slabCuts, 0); 4844 AddSlabBoundaries(boundaries, slabCuts, 0);
4845 4845
4846 { 4846 {
4847 size_t i = 0; 4847 size_t i = 0;
4848 ASSERT_EQ(4, boundaries.size()); 4848 ASSERT_EQ(4, boundaries.size());
4849 4849
4870 std::vector< RtStructRectanglesInSlab > slabCuts; 4870 std::vector< RtStructRectanglesInSlab > slabCuts;
4871 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 4871 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
4872 FillTestRectangleList(slabCuts); 4872 FillTestRectangleList(slabCuts);
4873 4873
4874 boundaries.clear(); 4874 boundaries.clear();
4875 DicomStructure2::AddSlabBoundaries(boundaries, slabCuts, 0); 4875 AddSlabBoundaries(boundaries, slabCuts, 0);
4876 DicomStructure2::AddSlabBoundaries(boundaries, slabCuts, 1); 4876 AddSlabBoundaries(boundaries, slabCuts, 1);
4877 4877
4878 ASSERT_EQ(8, boundaries.size()); 4878 ASSERT_EQ(8, boundaries.size());
4879 4879
4880 { 4880 {
4881 size_t i = 0; 4881 size_t i = 0;
4919 std::vector< RtStructRectanglesInSlab > slabCuts; 4919 std::vector< RtStructRectanglesInSlab > slabCuts;
4920 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 4920 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
4921 FillTestRectangleList(slabCuts); 4921 FillTestRectangleList(slabCuts);
4922 boundaries.clear(); 4922 boundaries.clear();
4923 std::vector< std::pair<Point2D, Point2D> > segments; 4923 std::vector< std::pair<Point2D, Point2D> > segments;
4924 ASSERT_NO_THROW(DicomStructure2::ProcessBoundaryList(segments, boundaries, 42.0)); 4924 ASSERT_NO_THROW(ProcessBoundaryList(segments, boundaries, 42.0));
4925 ASSERT_EQ(0u, segments.size()); 4925 ASSERT_EQ(0u, segments.size());
4926 } 4926 }
4927 4927
4928 TEST(StructureSet, ConvertListOfSlabsToSegments_TopRow_Horizontal) 4928 TEST(StructureSet, ConvertListOfSlabsToSegments_TopRow_Horizontal)
4929 { 4929 {
4932 4932
4933 // top row 4933 // top row
4934 { 4934 {
4935 std::vector< std::pair<Point2D, Point2D> > segments; 4935 std::vector< std::pair<Point2D, Point2D> > segments;
4936 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 4936 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
4937 DicomStructure2::AddSlabBoundaries(boundaries, slabCuts, 0); 4937 AddSlabBoundaries(boundaries, slabCuts, 0);
4938 DicomStructure2::ProcessBoundaryList(segments, boundaries, slabCuts[0][0].ymin); 4938 ProcessBoundaryList(segments, boundaries, slabCuts[0][0].ymin);
4939 4939
4940 ASSERT_EQ(2u, segments.size()); 4940 ASSERT_EQ(2u, segments.size());
4941 4941
4942 ASSERT_NEAR( 5.0, segments[0].first.x, DELTA_MAX); 4942 ASSERT_NEAR( 5.0, segments[0].first.x, DELTA_MAX);
4943 ASSERT_NEAR(31.0, segments[0].second.x, DELTA_MAX); 4943 ASSERT_NEAR(31.0, segments[0].second.x, DELTA_MAX);
4958 FillTestRectangleList(slabCuts); 4958 FillTestRectangleList(slabCuts);
4959 4959
4960 // top row 4960 // top row
4961 { 4961 {
4962 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 4962 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
4963 DicomStructure2::AddSlabBoundaries(boundaries, slabCuts, 0); 4963 AddSlabBoundaries(boundaries, slabCuts, 0);
4964 std::vector< std::pair<Point2D, Point2D> > segments; 4964 std::vector< std::pair<Point2D, Point2D> > segments;
4965 DicomStructure2::ProcessBoundaryList(segments, boundaries, slabCuts[0][0].ymin); 4965 ProcessBoundaryList(segments, boundaries, slabCuts[0][0].ymin);
4966 } 4966 }
4967 4967
4968 // mids 4968 // mids
4969 { 4969 {
4970 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 4970 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
4971 DicomStructure2::AddSlabBoundaries(boundaries, slabCuts, 0); 4971 AddSlabBoundaries(boundaries, slabCuts, 0);
4972 DicomStructure2::AddSlabBoundaries(boundaries, slabCuts, 1); 4972 AddSlabBoundaries(boundaries, slabCuts, 1);
4973 std::vector< std::pair<Point2D, Point2D> > segments; 4973 std::vector< std::pair<Point2D, Point2D> > segments;
4974 DicomStructure2::ProcessBoundaryList(segments, boundaries, slabCuts[0][0].ymax); 4974 ProcessBoundaryList(segments, boundaries, slabCuts[0][0].ymax);
4975 4975
4976 ASSERT_EQ(4u, segments.size()); 4976 ASSERT_EQ(4u, segments.size());
4977 4977
4978 ASSERT_NEAR(05.0, segments[0].first.x, DELTA_MAX); 4978 ASSERT_NEAR(05.0, segments[0].first.x, DELTA_MAX);
4979 ASSERT_NEAR(20.0, segments[0].second.x, DELTA_MAX); 4979 ASSERT_NEAR(20.0, segments[0].second.x, DELTA_MAX);
4997 } 4997 }
4998 4998
4999 // bottom row 4999 // bottom row
5000 { 5000 {
5001 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 5001 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
5002 DicomStructure2::AddSlabBoundaries(boundaries, slabCuts, 1); 5002 AddSlabBoundaries(boundaries, slabCuts, 1);
5003 std::vector< std::pair<Point2D, Point2D> > segments; 5003 std::vector< std::pair<Point2D, Point2D> > segments;
5004 DicomStructure2::ProcessBoundaryList(segments, boundaries, slabCuts[1][0].ymax); 5004 ProcessBoundaryList(segments, boundaries, slabCuts[1][0].ymax);
5005 5005
5006 ASSERT_EQ(2u, segments.size()); 5006 ASSERT_EQ(2u, segments.size());
5007 5007
5008 ASSERT_NEAR(20.0, segments[0].first.x, DELTA_MAX); 5008 ASSERT_NEAR(20.0, segments[0].first.x, DELTA_MAX);
5009 ASSERT_NEAR(45.0, segments[0].second.x, DELTA_MAX); 5009 ASSERT_NEAR(45.0, segments[0].second.x, DELTA_MAX);
5023 std::vector< RtStructRectanglesInSlab > slabCuts; 5023 std::vector< RtStructRectanglesInSlab > slabCuts;
5024 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 5024 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
5025 5025
5026 std::vector< std::pair<Point2D, Point2D> > segments; 5026 std::vector< std::pair<Point2D, Point2D> > segments;
5027 5027
5028 ASSERT_NO_THROW(DicomStructure2::ConvertListOfSlabsToSegments(segments, slabCuts, 0)); 5028 ASSERT_NO_THROW(ConvertListOfSlabsToSegments(segments, slabCuts, 0));
5029 ASSERT_EQ(0u, segments.size()); 5029 ASSERT_EQ(0u, segments.size());
5030 } 5030 }
5031 5031
5032 TEST(StructureSet, ConvertListOfSlabsToSegments_Complete_Regular) 5032 TEST(StructureSet, ConvertListOfSlabsToSegments_Complete_Regular)
5033 { 5033 {
5035 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries; 5035 std::vector<std::pair<double, RectangleBoundaryKind> > boundaries;
5036 size_t totalRectCount = FillTestRectangleList(slabCuts); 5036 size_t totalRectCount = FillTestRectangleList(slabCuts);
5037 5037
5038 std::vector< std::pair<Point2D, Point2D> > segments; 5038 std::vector< std::pair<Point2D, Point2D> > segments;
5039 5039
5040 ASSERT_NO_THROW(DicomStructure2::ConvertListOfSlabsToSegments(segments, slabCuts, totalRectCount)); 5040 ASSERT_NO_THROW(ConvertListOfSlabsToSegments(segments, slabCuts, totalRectCount));
5041 ASSERT_EQ(60u, segments.size()); 5041 ASSERT_EQ(60u, segments.size());
5042 5042
5043 size_t i = 0; 5043 size_t i = 0;
5044 5044
5045 ASSERT_NEAR(segments[i].first.x, 5.0000000000000000, DELTA_MAX); 5045 ASSERT_NEAR(segments[i].first.x, 5.0000000000000000, DELTA_MAX);