From 95c6636623544e82a6125a00c9fcf387f121254f Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Thu, 11 Nov 2021 11:56:59 +0100
Subject: [PATCH] ctd

---
 Device/Histo/Histogram1D.cpp              |  5 +++--
 Tests/Unit/Device/ConstKBinAxisTest.cpp   |  9 ++++----
 Tests/Unit/Device/FixedBinAxisTest.cpp    |  6 ++++--
 Tests/Unit/Device/PointwiseAxisTest.cpp   | 25 +++++++++++------------
 Tests/Unit/Device/VariableBinAxisTest.cpp |  9 +++++---
 5 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/Device/Histo/Histogram1D.cpp b/Device/Histo/Histogram1D.cpp
index c4862452a50..4f6fca10ef9 100644
--- a/Device/Histo/Histogram1D.cpp
+++ b/Device/Histo/Histogram1D.cpp
@@ -85,12 +85,13 @@ PyObject* Histogram1D::binErrorsNumpy() const
 
 Histogram1D* Histogram1D::crop(double xmin, double xmax)
 {
-    const std::unique_ptr<IAxis> xaxis(xAxis().createClippedAxis(xmin, xmax));
+    const std::unique_ptr<IAxis> xaxis{xAxis().clone()};
+    xaxis->clip(xmin, xmax);
     Histogram1D* result = new Histogram1D(*xaxis);
     OutputData<CumulativeValue>::const_iterator it_origin = m_data.begin();
     OutputData<CumulativeValue>::iterator it_result = result->m_data.begin();
     while (it_origin != m_data.end()) {
-        double x = m_data.getAxisValue(it_origin.getIndex(), 0);
+        const double x = m_data.getAxisValue(it_origin.getIndex(), 0);
         if (result->xAxis().contains(x)) {
             *it_result = *it_origin;
             ++it_result;
diff --git a/Tests/Unit/Device/ConstKBinAxisTest.cpp b/Tests/Unit/Device/ConstKBinAxisTest.cpp
index 4a75e786d13..8631b95364a 100644
--- a/Tests/Unit/Device/ConstKBinAxisTest.cpp
+++ b/Tests/Unit/Device/ConstKBinAxisTest.cpp
@@ -77,15 +77,16 @@ TEST_F(ConstKBinAxisTest, IOStream)
 
 TEST_F(ConstKBinAxisTest, ClippedAxis)
 {
-    ConstKBinAxis* clip1 = m_axis.createClippedAxis(Units::deg2rad(-10.0), Units::deg2rad(10.0));
+    ConstKBinAxis* clip1 = m_axis.clone();
+    clip1->clip(Units::deg2rad(-10.0), Units::deg2rad(10.0));
     EXPECT_TRUE(*clip1 == m_axis);
     delete clip1;
 
-    ConstKBinAxis* clip2 = m_axis.createClippedAxis(Units::deg2rad(-3.0), Units::deg2rad(3.0));
+    ConstKBinAxis* clip2 = m_axis.clone();
+    clip2->clip(Units::deg2rad(-3.0), Units::deg2rad(3.0));
     EXPECT_EQ(clip2->size(), size_t(8));
     std::vector<double> boundaries = clip2->binBoundaries();
-    for (size_t i = 0; i < boundaries.size(); ++i) {
+    for (size_t i = 0; i < boundaries.size(); ++i)
         EXPECT_EQ(boundaries[i], m_axis.bin(1 + i).m_lower);
-    }
     delete clip2;
 }
diff --git a/Tests/Unit/Device/FixedBinAxisTest.cpp b/Tests/Unit/Device/FixedBinAxisTest.cpp
index 89d59927145..d0719563e1e 100644
--- a/Tests/Unit/Device/FixedBinAxisTest.cpp
+++ b/Tests/Unit/Device/FixedBinAxisTest.cpp
@@ -153,14 +153,16 @@ TEST_F(FixedBinAxisTest, ClippedAxis)
 {
     FixedBinAxis axis("name", 4, -1.0, 3.0);
 
-    FixedBinAxis* clip1 = axis.createClippedAxis(-0.5, 2.5);
+    FixedBinAxis* clip1 = axis.clone();
+    clip1->clip(-0.5, 2.5);
     EXPECT_EQ(clip1->size(), axis.size());
     EXPECT_EQ(clip1->lowerBound(), axis.lowerBound());
     EXPECT_EQ(clip1->upperBound(), axis.upperBound());
     EXPECT_TRUE(*clip1 == axis);
     delete clip1;
 
-    FixedBinAxis* clip2 = axis.createClippedAxis(0.0, 1.99);
+    FixedBinAxis* clip2 = axis.clone();
+    clip2->clip(0.0, 1.99);
     EXPECT_EQ(clip2->size(), size_t(2));
     EXPECT_EQ(clip2->lowerBound(), 0.0);
     EXPECT_EQ(clip2->upperBound(), 2.0);
diff --git a/Tests/Unit/Device/PointwiseAxisTest.cpp b/Tests/Unit/Device/PointwiseAxisTest.cpp
index 0b352460c60..ece86cf5a86 100644
--- a/Tests/Unit/Device/PointwiseAxisTest.cpp
+++ b/Tests/Unit/Device/PointwiseAxisTest.cpp
@@ -132,20 +132,23 @@ TEST_F(PointwiseAxisTest, ClippedAxis)
 {
     PointwiseAxis axis("name", std::vector<double>{1.0, 2.0, 2.5, 2.7, 5.0});
 
-    std::unique_ptr<PointwiseAxis> clip1(axis.createClippedAxis(0.99, 5.1));
+    std::unique_ptr<PointwiseAxis> clip1(axis.clone());
+    clip1->clip(0.99, 5.1);
     EXPECT_TRUE(*clip1 == axis);
 
-    std::unique_ptr<PointwiseAxis> clip2(axis.createClippedAxis(1, 5.0));
+    std::unique_ptr<PointwiseAxis> clip2(axis.clone());
+    clip2->clip(1, 5.0);
     EXPECT_TRUE(*clip2 == axis);
 
-    std::unique_ptr<PointwiseAxis> clip3(axis.createClippedAxis(1.5, 2.5));
+    std::unique_ptr<PointwiseAxis> clip3(axis.clone());
+    clip3->clip(1.5, 2.5);
     EXPECT_TRUE(*clip3 != axis);
     EXPECT_EQ(clip3->size(), 2u);
     EXPECT_EQ(clip3->operator[](0), 2.0);
     EXPECT_EQ(clip3->operator[](1), 2.5);
 
-    EXPECT_THROW(axis.createClippedAxis(1.5, 2.0), std::runtime_error);
-    EXPECT_THROW(axis.createClippedAxis(5.0, 1.0), std::runtime_error);
+    EXPECT_THROW(axis.clone()->clip(1.5, 2.0), std::runtime_error);
+    EXPECT_THROW(axis.clone()->clip(5.0, 1.0), std::runtime_error);
 }
 
 TEST_F(PointwiseAxisTest, FixedBinAxisComparison)
@@ -170,17 +173,13 @@ TEST_F(PointwiseAxisTest, FixedBinAxisComparison)
     EXPECT_EQ(fixed_axis.findClosestIndex(2.5), pointwise_axis.findClosestIndex(2.5));
     EXPECT_EQ(fixed_axis.findClosestIndex(4.5), pointwise_axis.findClosestIndex(4.5));
 
-    std::unique_ptr<FixedBinAxis> clipped_fixed(fixed_axis.createClippedAxis(0.5, 3.5));
-    std::unique_ptr<PointwiseAxis> clipped_pointwise(pointwise_axis.createClippedAxis(0.5, 3.5));
+    std::unique_ptr<FixedBinAxis> clipped_fixed(fixed_axis.clone());
+    clipped_fixed->clip(0.5, 3.5);
+    std::unique_ptr<PointwiseAxis> clipped_pointwise(pointwise_axis.clone());
+    clipped_pointwise->clip(0.5, 3.5);
     EXPECT_EQ(clipped_fixed->size(), clipped_pointwise->size());
     EXPECT_DOUBLE_EQ(clipped_fixed->binCenter(0), clipped_pointwise->binCenter(0));
     EXPECT_DOUBLE_EQ(clipped_fixed->binCenter(3), clipped_pointwise->binCenter(3));
-
-    clipped_fixed.reset(fixed_axis.createClippedAxis(1.0, 3.0));
-    clipped_pointwise.reset(pointwise_axis.createClippedAxis(1.0, 3.0));
-    EXPECT_EQ(clipped_fixed->size(), clipped_pointwise->size());
-    EXPECT_DOUBLE_EQ(clipped_fixed->binCenter(0), clipped_pointwise->binCenter(0));
-    EXPECT_DOUBLE_EQ(clipped_fixed->binCenter(2), clipped_pointwise->binCenter(2));
 }
 
 TEST_F(PointwiseAxisTest, FixedBinAxisComparisonWithMask)
diff --git a/Tests/Unit/Device/VariableBinAxisTest.cpp b/Tests/Unit/Device/VariableBinAxisTest.cpp
index 6e3710b73c7..09ab8ecf5bd 100644
--- a/Tests/Unit/Device/VariableBinAxisTest.cpp
+++ b/Tests/Unit/Device/VariableBinAxisTest.cpp
@@ -207,11 +207,13 @@ TEST_F(VariableBinAxisTest, ClippedAxis)
     std::vector<double> values(arr, arr + sizeof(arr) / sizeof(arr[0]));
     VariableBinAxis axis("name", 4, values);
 
-    VariableBinAxis* clip1 = axis.createClippedAxis(-1.0, 2.0);
+    VariableBinAxis* clip1 = axis.clone();
+    clip1->clip(-1.0, 2.0);
     EXPECT_TRUE(axis == *clip1);
     delete clip1;
 
-    VariableBinAxis* clip2 = axis.createClippedAxis(-0.5, 1.5);
+    VariableBinAxis* clip2 = axis.clone();
+    clip2->clip(-0.5, 1.5);
     EXPECT_EQ(clip2->size(), size_t(3));
     EXPECT_EQ(clip2->lowerBound(), -0.5);
     EXPECT_EQ(clip2->upperBound(), 2.0);
@@ -222,7 +224,8 @@ TEST_F(VariableBinAxisTest, ClippedAxis)
     EXPECT_TRUE(axis != *clip2);
     delete clip2;
 
-    VariableBinAxis* clip3 = axis.createClippedAxis(-0.5, 0.99);
+    VariableBinAxis* clip3 = axis.clone();
+    clip3->clip(-0.5, 0.99);
     EXPECT_EQ(clip3->size(), size_t(2));
     EXPECT_EQ(clip3->lowerBound(), -0.5);
     EXPECT_EQ(clip3->upperBound(), 1.0);
-- 
GitLab