#include #include #include "Swiften/Parser/PayloadParsers/StorageParser.h" #include "Swiften/Parser/PayloadParsers/UnitTest/PayloadsParserTester.h" using namespace Swift; class StorageParserTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(StorageParserTest); CPPUNIT_TEST(testParse_Conference); CPPUNIT_TEST(testParse_MultipleConferences); CPPUNIT_TEST_SUITE_END(); public: StorageParserTest() {} void testParse_Conference() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse( "" "" "Puck" "MyPass" "" "")); Storage* payload = dynamic_cast(parser.getPayload().get()); std::vector conferences = payload->getConferences(); CPPUNIT_ASSERT_EQUAL(1, static_cast(conferences.size())); CPPUNIT_ASSERT_EQUAL(String("Council of Oberon"), conferences[0].name); CPPUNIT_ASSERT_EQUAL(JID("council@conference.underhill.org"), conferences[0].jid); CPPUNIT_ASSERT(conferences[0].autoJoin); CPPUNIT_ASSERT_EQUAL(String("Puck"), conferences[0].nick); CPPUNIT_ASSERT_EQUAL(String("MyPass"), conferences[0].password); } void testParse_MultipleConferences() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse( "" "" "" "")); Storage* payload = dynamic_cast(parser.getPayload().get()); std::vector conferences = payload->getConferences(); CPPUNIT_ASSERT_EQUAL(2, static_cast(conferences.size())); CPPUNIT_ASSERT_EQUAL(String("Council of Oberon"), conferences[0].name); CPPUNIT_ASSERT_EQUAL(JID("council@conference.underhill.org"), conferences[0].jid); CPPUNIT_ASSERT_EQUAL(String("Tea party"), conferences[1].name); CPPUNIT_ASSERT_EQUAL(JID("teaparty@wonderland.lit"), conferences[1].jid); } }; CPPUNIT_TEST_SUITE_REGISTRATION(StorageParserTest);