/* * Copyright (c) 2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include using namespace Swift; class PubSubRetractParserTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(PubSubRetractParserTest); CPPUNIT_TEST(testParse); CPPUNIT_TEST(testParseNotify); CPPUNIT_TEST_SUITE_END(); public: void testParse() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("" "" "" "" "")); auto payload = parser.getPayload>(); std::shared_ptr retract = std::dynamic_pointer_cast(payload->getPayload()); CPPUNIT_ASSERT(retract); CPPUNIT_ASSERT_EQUAL(std::string("princely_musings"), retract->getNode()); CPPUNIT_ASSERT_EQUAL(false, retract->isNotify().is_initialized()); } void testParseNotify() { { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("" "" "" "" "")); auto payload = parser.getPayload>(); std::shared_ptr retract = std::dynamic_pointer_cast(payload->getPayload()); CPPUNIT_ASSERT(retract); CPPUNIT_ASSERT_EQUAL(std::string("princely_musings"), retract->getNode()); CPPUNIT_ASSERT_EQUAL(true, retract->isNotify().get()); } { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("" "" "" "" "")); auto payload = parser.getPayload>(); auto retract = std::dynamic_pointer_cast(payload->getPayload()); CPPUNIT_ASSERT(retract); CPPUNIT_ASSERT_EQUAL(std::string("princely_musings"), retract->getNode()); CPPUNIT_ASSERT_EQUAL(false, retract->isNotify().get()); } } }; CPPUNIT_TEST_SUITE_REGISTRATION(PubSubRetractParserTest);