diff options
Diffstat (limited to 'Swiften/Elements/UnitTest/StanzaTest.cpp')
-rw-r--r-- | Swiften/Elements/UnitTest/StanzaTest.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Swiften/Elements/UnitTest/StanzaTest.cpp b/Swiften/Elements/UnitTest/StanzaTest.cpp index fb9b8a5..1e7e9c4 100644 --- a/Swiften/Elements/UnitTest/StanzaTest.cpp +++ b/Swiften/Elements/UnitTest/StanzaTest.cpp @@ -19,6 +19,7 @@ class StanzaTest : public CppUnit::TestFixture CPPUNIT_TEST_SUITE(StanzaTest); CPPUNIT_TEST(testConstructor_Copy); CPPUNIT_TEST(testGetPayload); + CPPUNIT_TEST(testGetPayloads); CPPUNIT_TEST(testGetPayload_NoSuchPayload); CPPUNIT_TEST(testDestructor); CPPUNIT_TEST(testDestructor_Copy); @@ -113,6 +114,21 @@ class StanzaTest : public CppUnit::TestFixture CPPUNIT_ASSERT(!p); } + void testGetPayloads() { + Message m; + boost::shared_ptr<MyPayload2> payload1(new MyPayload2()); + boost::shared_ptr<MyPayload2> payload2(new MyPayload2()); + m.addPayload(boost::shared_ptr<MyPayload1>(new MyPayload1())); + m.addPayload(payload1); + m.addPayload(boost::shared_ptr<MyPayload3>(new MyPayload3())); + m.addPayload(payload2); + + CPPUNIT_ASSERT_EQUAL((size_t)2, m.getPayloads<MyPayload2>().size()); + CPPUNIT_ASSERT_EQUAL(payload1, m.getPayloads<MyPayload2>()[0]); + CPPUNIT_ASSERT_EQUAL(payload2, m.getPayloads<MyPayload2>()[1]); + } + + void testUpdatePayload_ExistingPayload() { Message m; m.addPayload(boost::shared_ptr<MyPayload1>(new MyPayload1())); |