/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #include #include #include #include using namespace Swift; class StatusShowParserTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(StatusShowParserTest); CPPUNIT_TEST(testParse_Invalid); CPPUNIT_TEST(testParse_Away); CPPUNIT_TEST(testParse_FFC); CPPUNIT_TEST(testParse_XA); CPPUNIT_TEST(testParse_DND); CPPUNIT_TEST_SUITE_END(); public: StatusShowParserTest() {} void testParse_Invalid() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("invalid")); StatusShow* payload = dynamic_cast(parser.getPayload().get()); CPPUNIT_ASSERT(StatusShow::Online == payload->getType()); } void testParse_Away() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("away")); StatusShow* payload = dynamic_cast(parser.getPayload().get()); CPPUNIT_ASSERT(StatusShow::Away == payload->getType()); } void testParse_FFC() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("chat")); StatusShow* payload = dynamic_cast(parser.getPayload().get()); CPPUNIT_ASSERT(StatusShow::FFC == payload->getType()); } void testParse_XA() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("xa")); StatusShow* payload = dynamic_cast(parser.getPayload().get()); CPPUNIT_ASSERT(StatusShow::XA == payload->getType()); } void testParse_DND() { PayloadsParserTester parser; CPPUNIT_ASSERT(parser.parse("dnd")); StatusShow* payload = dynamic_cast(parser.getPayload().get()); CPPUNIT_ASSERT(StatusShow::DND == payload->getType()); } }; CPPUNIT_TEST_SUITE_REGISTRATION(StatusShowParserTest);