[shill] Add support for weird Cellular.SimLockStatus property

SimLockStatus is bizarre in that its type is a dictionary that maps
names to values of different types.  It's { string:string,
string:uint32 }, which doesn't fit nicely into dbus-c++, because you
can't represent it trivially with an STL container -- and therefore I
have to do something special to convert it.

BUG=chromium-os:17281
TEST=unit tests
STATUS=Verified

Change-Id: I9c4e43f75c666570caae66e04293bce6207a1b99
Reviewed-on: http://gerrit.chromium.org/gerrit/3619
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/property_store_unittest.cc b/property_store_unittest.cc
index 2dd049c..f63439c 100644
--- a/property_store_unittest.cc
+++ b/property_store_unittest.cc
@@ -6,6 +6,7 @@
 
 #include <map>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include <dbus-c++/dbus.h>
@@ -19,8 +20,9 @@
 #include "shill/property_store.h"
 #include "shill/shill_event.h"
 
-using std::string;
+using std::make_pair;
 using std::map;
+using std::string;
 using std::vector;
 using ::testing::Values;
 
@@ -44,11 +46,15 @@
     DBusAdaptor::StringmapToVariant(Stringmap());
 // static
 const ::DBus::Variant PropertyStoreTest::kStringmapsV =
-    DBusAdaptor::StringmapsToVariant(vector<map<string, string> >());
+    DBusAdaptor::StringmapsToVariant(Stringmaps());
 // static
 const ::DBus::Variant PropertyStoreTest::kStringsV =
     DBusAdaptor::StringsToVariant(Strings(1, ""));
 // static
+const ::DBus::Variant PropertyStoreTest::kStrIntPairV =
+    DBusAdaptor::StrIntPairToVariant(StrIntPair(make_pair("", ""),
+                                                make_pair("", 12)));
+// static
 const ::DBus::Variant PropertyStoreTest::kUint16V =
     DBusAdaptor::Uint16ToVariant(0);
 // static
@@ -79,10 +85,11 @@
            PropertyStoreTest::kStringV,
            PropertyStoreTest::kInt16V,
            PropertyStoreTest::kInt32V,
-           PropertyStoreTest::kUint16V,
-           PropertyStoreTest::kUint32V,
-           PropertyStoreTest::kStringsV,
            PropertyStoreTest::kStringmapV,
-           PropertyStoreTest::kStringmapsV));
+           PropertyStoreTest::kStringmapsV,
+           PropertyStoreTest::kStringsV,
+           PropertyStoreTest::kStrIntPairV,
+           PropertyStoreTest::kUint16V,
+           PropertyStoreTest::kUint32V));
 
 }  // namespace shill