Resolve coverity issues

* Added Rule of Five compliance to the reported classes
* Added explicit default destructors and assignment operators
* Corrected comparison statement

Tested:
UTs passed

Change-Id: Ifcfc1055e2e65d9f3ce10e3878ff3f1dd5d84929
Signed-off-by: Piotr Sulewski <piotrx.sulewski@intel.com>
diff --git a/src/numeric_threshold.hpp b/src/numeric_threshold.hpp
index 5337624..d15530b 100644
--- a/src/numeric_threshold.hpp
+++ b/src/numeric_threshold.hpp
@@ -29,8 +29,11 @@
         Milliseconds dwellTime, numeric::Direction direction,
         double thresholdValue, numeric::Type type,
         std::unique_ptr<interfaces::Clock> clock);
+    ~NumericThreshold() = default;
     NumericThreshold(const NumericThreshold&) = delete;
+    NumericThreshold& operator=(const NumericThreshold&) = delete;
     NumericThreshold(NumericThreshold&&) = delete;
+    NumericThreshold& operator=(NumericThreshold&&) = delete;
 
     void initialize() override;
     void sensorUpdated(interfaces::Sensor&, Milliseconds, double) override;
@@ -59,8 +62,11 @@
                         boost::asio::io_context& ioc) :
             timer(ioc), sensorName(sensorNameIn)
         {}
+        ~ThresholdDetail() = default;
         ThresholdDetail(const ThresholdDetail&) = delete;
+        ThresholdDetail& operator=(const ThresholdDetail&) = delete;
         ThresholdDetail(ThresholdDetail&&) = delete;
+        ThresholdDetail& operator=(ThresholdDetail&&) = delete;
 
         const std::string& getSensorName()
         {