From 950605f03d2cb2a844ac5959a1f3657f3d158e19 Mon Sep 17 00:00:00 2001
From: Dmitry Yurov <d.yurov@fz-juelich.de>
Date: Mon, 29 Jul 2019 17:08:01 +0200
Subject: [PATCH] Fix erroneous throw condition

---
 Core/Parametrization/RangedDistributions.cpp               | 6 +++---
 Tests/UnitTests/Core/Parameters/RangedDistributionTest.cpp | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Core/Parametrization/RangedDistributions.cpp b/Core/Parametrization/RangedDistributions.cpp
index d546cfaa410..4109afc24fd 100644
--- a/Core/Parametrization/RangedDistributions.cpp
+++ b/Core/Parametrization/RangedDistributions.cpp
@@ -108,9 +108,9 @@ void RangedDistribution::checkInitialization()
         throw std::runtime_error("Error in RangedDistribution::checkInitialization: number of "
                                  "samples shall be positive");
 
-    if (m_sigma_factor <= 0.0)
-        throw std::runtime_error(
-            "Error in RangedDistribution::checkInitialization: sigma factor shall be positive.");
+    if (m_sigma_factor < 0.0)
+        throw std::runtime_error("Error in RangedDistribution::checkInitialization: sigma factor "
+                                 "shall be non-negative.");
 
     if (!m_limits.hasLowerAndUpperLimits())
         return;
diff --git a/Tests/UnitTests/Core/Parameters/RangedDistributionTest.cpp b/Tests/UnitTests/Core/Parameters/RangedDistributionTest.cpp
index 327642c248f..80b8663be60 100644
--- a/Tests/UnitTests/Core/Parameters/RangedDistributionTest.cpp
+++ b/Tests/UnitTests/Core/Parameters/RangedDistributionTest.cpp
@@ -32,12 +32,12 @@ template<class T>
 void RangedDistributionTest::checkThrows()
 {
     EXPECT_THROW(T(0, 1.0, 0.0, 1.0), std::runtime_error);
-    EXPECT_THROW(T(1, 0.0, 0.0, 1.0), std::runtime_error);
     EXPECT_THROW(T(1, 1.0, 1.0, -1.0), std::runtime_error);
     EXPECT_THROW(T(1, 1.0, 1.0, -1.0), std::runtime_error);
     EXPECT_THROW(T(8, 5.0, RealLimits::limited(1.0, 0.2)), std::runtime_error);
     EXPECT_THROW(T(8, -5.0), std::runtime_error);
     EXPECT_NO_THROW(T(1, 0.1, 0.0, 0.1));
+    EXPECT_NO_THROW(T(1, 0.0, 0.0, 1.0));
     EXPECT_NO_THROW(T(1, 0.1));
     EXPECT_NO_THROW(T(2, 0.1));
 }
-- 
GitLab