Test cases for VPD-Manager read functionalities

Implementation of test cases for read functionalities provided
by VPD-Manager app.

Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
Change-Id: I83ad6757934a4c28ae26eb11f0b1f380e2c82aa8
diff --git a/vpd-manager/reader_impl.hpp b/vpd-manager/reader_impl.hpp
index dab8b8e..4de3c9b 100644
--- a/vpd-manager/reader_impl.hpp
+++ b/vpd-manager/reader_impl.hpp
@@ -1,6 +1,7 @@
 #pragma once
 
 #include "types.hpp"
+#include "utilInterface.hpp"
 
 namespace openpower
 {
@@ -11,6 +12,7 @@
 namespace reader
 {
 
+using IUtil = openpower::vpd::utils::interface::UtilityInterface;
 /** @class ReaderImpl
  *  @brief Implements functionalities related to reading of VPD related data
  *  from the system.
@@ -19,12 +21,18 @@
 {
   public:
     ReaderImpl() = default;
-    ReaderImpl(const ReaderImpl&) = delete;
+    ReaderImpl(const ReaderImpl&) = default;
     ReaderImpl& operator=(const ReaderImpl&) = delete;
-    ReaderImpl(ReaderImpl&&) = delete;
+    ReaderImpl(ReaderImpl&&) = default;
     ReaderImpl& operator=(ReaderImpl&&) = delete;
     ~ReaderImpl() = default;
 
+#ifdef ManagerTest
+    explicit ReaderImpl(IUtil& obj) : utilObj(obj)
+    {
+    }
+#endif
+
     /** @brief An API to expand a given unexpanded location code.
      *  @param[in] locationCode - unexpanded location code.
      *  @param[in] nodeNumber - node on which we are looking for location code.
@@ -72,6 +80,9 @@
     std::tuple<inventory::LocationCode, inventory::NodeNumber>
         getCollapsedLocationCode(
             const inventory::LocationCode& locationCode) const;
+#ifdef ManagerTest
+    IUtil& utilObj;
+#endif
 
 }; // class ReaderImpl