/* * Copyright (c) 2015 Tarun Gupta. * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ /* * Copyright (c) 2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include #include #include using namespace Swift; class UserLocationSerializerTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(UserLocationSerializerTest); CPPUNIT_TEST(testSerialize_withAllVariablesSet); CPPUNIT_TEST(testSerialize_withSomeVariablesSet); CPPUNIT_TEST_SUITE_END(); public: void testSerialize_withAllVariablesSet() { UserLocationSerializer testling(&serializers); std::shared_ptr userLocation(new UserLocation()); userLocation->setArea(boost::optional("Barbaric")); userLocation->setAltitude(5.75); userLocation->setLocality(boost::optional("Near")); userLocation->setLatitude(boost::optional(5.75)); userLocation->setAccuracy(5.75); userLocation->setDescription(boost::optional("Nice")); userLocation->setCountryCode(boost::optional("+91")); userLocation->setTimestamp(stringToDateTime("2015-06-11T20:55:50Z")); userLocation->setFloor(boost::optional("3")); userLocation->setBuilding(boost::optional("First")); userLocation->setRoom(boost::optional("E315")); userLocation->setCountry(boost::optional("USA")); userLocation->setRegion(boost::optional("NewSode")); userLocation->setURI(boost::optional("URIs")); userLocation->setLongitude(5.75); userLocation->setError(5.75); userLocation->setPostalCode(boost::optional("67")); userLocation->setBearing(5.75); userLocation->setText(boost::optional("Hello")); userLocation->setDatum(boost::optional("Datee")); userLocation->setStreet(boost::optional("Highway")); userLocation->setSpeed(5.75); std::string expectedResult = "" "Barbaric5.75Near" "5.755.75Nice" "+912015-06-11T20:55:50Z3" "FirstE315USA" "NewSodeURIs5.755.75" "675.75Hello" "DateeHighway5.75"; CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(userLocation)); } void testSerialize_withSomeVariablesSet() { UserLocationSerializer testling(&serializers); std::shared_ptr userLocation(new UserLocation()); userLocation->setArea(boost::optional("Barbaric")); userLocation->setAltitude(5.75); userLocation->setLocality(boost::optional("Near")); userLocation->setAccuracy(5.75); userLocation->setDescription(boost::optional("Nice")); userLocation->setCountryCode(boost::optional("+91")); userLocation->setTimestamp(stringToDateTime("2015-06-11T20:55:50Z")); userLocation->setFloor(boost::optional("3")); userLocation->setRegion(boost::optional("NewSode")); userLocation->setURI(boost::optional("URIs")); userLocation->setLongitude(5.75); userLocation->setError(5.75); userLocation->setPostalCode(boost::optional("67")); userLocation->setBearing(5.75); userLocation->setText(boost::optional("Hello")); std::string expectedResult = "" "Barbaric5.75Near" "5.75Nice" "+912015-06-11T20:55:50Z3" "NewSodeURIs5.755.75" "675.75Hello"; CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(userLocation)); } private: FullPayloadSerializerCollection serializers; }; CPPUNIT_TEST_SUITE_REGISTRATION(UserLocationSerializerTest);