Mercurial > hg > orthanc-stone
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); |