std::tuple support for append/read

Change-Id: If914032fa4f655af509ac58a5e0057968f71aa32
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/test/message/read.cpp b/test/message/read.cpp
index f1dfc77..25ccdb5 100644
--- a/test/message/read.cpp
+++ b/test/message/read.cpp
@@ -247,7 +247,30 @@
         b.call_noreply(m);
     }
 
+    // Test tuple.
+    {
+        auto m = newMethodCall__test(b);
+        std::tuple<int, double, std::string> a{ 3, 4.1, "asdf" };
+        m.append(1, a, 2);
+        verifyTypeString = "i(ids)i";
 
+        struct verify
+        {
+            static void op(sdbusplus::message::message& m)
+            {
+                int32_t a = 0, b = 0;
+                std::tuple<int, double, std::string> c{};
+
+                m.read(a, c, b);
+                assert(a == 1);
+                assert(b == 2);
+                assert(c == std::make_tuple(3, 4.1, "asdf"s));
+            }
+        };
+        verifyCallback = &verify::op;
+
+        b.call_noreply(m);
+    }
 
     // Shutdown server.
     {