/* * Copyright (c) 2014-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include #include #include using namespace Swift; class PubSubItemsSerializerTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(PubSubItemsSerializerTest); CPPUNIT_TEST(testSerialize); CPPUNIT_TEST(testSerializeEmptyItems); CPPUNIT_TEST_SUITE_END(); public: void testSerialize() { PubSubItemsSerializer serializer(&serializers); std::shared_ptr payload1(std::make_shared()); payload1->setRawXML(""); std::shared_ptr item1(std::make_shared()); item1->addData(payload1); item1->setID("pubsub-item-1"); std::shared_ptr payload2(std::make_shared()); payload2->setRawXML(""); std::shared_ptr item2(std::make_shared()); item2->addData(payload2); item2->setID("pubsub-item-2"); std::shared_ptr items(std::make_shared()); items->setNode("test-node"); items->setSubscriptionID(std::string("sub-id")); items->addItem(item1); items->addItem(item2); std::string expectedResult = "" "" "" "" "" "" "" ""; CPPUNIT_ASSERT_EQUAL(expectedResult, serializer.serialize(items)); } void testSerializeEmptyItems() { PubSubItemsSerializer serializer(&serializers); std::shared_ptr items(std::make_shared()); std::string expectedResult = ""; CPPUNIT_ASSERT_EQUAL(expectedResult, serializer.serialize(items)); } private: FullPayloadSerializerCollection serializers; }; CPPUNIT_TEST_SUITE_REGISTRATION(PubSubItemsSerializerTest);