/* * 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 UserTuneSerializerTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(UserTuneSerializerTest); CPPUNIT_TEST(testSerialize_withAllVariablesSet); CPPUNIT_TEST(testSerialize_withSomeVariablesSet); CPPUNIT_TEST_SUITE_END(); public: void testSerialize_withAllVariablesSet() { UserTuneSerializer testling(&serializers); std::shared_ptr userTune(new UserTune()); userTune->setRating(5); userTune->setTitle(boost::optional("Minion")); userTune->setTrack(boost::optional("Yellow")); userTune->setArtist(boost::optional("Ice")); userTune->setURI(boost::optional("Fire")); userTune->setSource(boost::optional("Origin")); userTune->setLength(226); std::string expectedResult = "" "5MinionYellowIceFireOrigin226"; CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(userTune)); } void testSerialize_withSomeVariablesSet() { UserTuneSerializer testling(&serializers); std::shared_ptr userTune(new UserTune()); userTune->setTitle(boost::optional("Minion")); userTune->setTrack(boost::optional("Yellow")); userTune->setArtist(boost::optional("Ice")); userTune->setSource(boost::optional("Origin")); userTune->setLength(226); std::string expectedResult = "" "MinionYellowIceOrigin226"; CPPUNIT_ASSERT_EQUAL(expectedResult, testling.serialize(userTune)); } private: FullPayloadSerializerCollection serializers; }; CPPUNIT_TEST_SUITE_REGISTRATION(UserTuneSerializerTest);