diff options
Diffstat (limited to 'Swift/Controllers/UnitTest')
| -rw-r--r-- | Swift/Controllers/UnitTest/ChatMessageSummarizerTest.cpp | 122 | ||||
| -rw-r--r-- | Swift/Controllers/UnitTest/MockChatWindow.h | 3 | ||||
| -rw-r--r-- | Swift/Controllers/UnitTest/MockMainWindow.h | 1 | 
3 files changed, 125 insertions, 1 deletions
| diff --git a/Swift/Controllers/UnitTest/ChatMessageSummarizerTest.cpp b/Swift/Controllers/UnitTest/ChatMessageSummarizerTest.cpp new file mode 100644 index 0000000..ee0ee9f --- /dev/null +++ b/Swift/Controllers/UnitTest/ChatMessageSummarizerTest.cpp @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2011 Kevin Smith + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/extensions/TestFactoryRegistry.h> + +#include "Swift/Controllers/ChatMessageSummarizer.h" + +using namespace Swift; +using namespace std; + +class ChatMessageSummarizerTest : public CppUnit::TestFixture { +	CPPUNIT_TEST_SUITE(ChatMessageSummarizerTest); +	CPPUNIT_TEST(testEmpty); +	CPPUNIT_TEST(testCurrentNone); +	CPPUNIT_TEST(testCurrentCount); +	CPPUNIT_TEST(testCurrentCountOthersNone); +	CPPUNIT_TEST(testCurrentCountOtherCount); +	CPPUNIT_TEST(testCurrentNoneOtherCount); +	CPPUNIT_TEST(testCurrentCountOthersCount); +	CPPUNIT_TEST(testCurrentNoneOthersCount); +	CPPUNIT_TEST(testCurrentCountSomeOthersCount); +	CPPUNIT_TEST_SUITE_END(); + +public: +	ChatMessageSummarizerTest() {}; + +	void setUp() { + +	} + +	void testEmpty() { +		string current(""); +		vector<UnreadPair> unreads; +		ChatMessageSummarizer summary; +		CPPUNIT_ASSERT_EQUAL(current, summary.getSummary(current, unreads)); +	} + +	void testCurrentNone() { +		string current("Bob"); +		vector<UnreadPair> unreads; +		unreads.push_back(UnreadPair("Bob", 0)); +		ChatMessageSummarizer summary; +		CPPUNIT_ASSERT_EQUAL(current, summary.getSummary(current, unreads)); +	} + +	void testCurrentCount() { +		string current("Bob"); +		vector<UnreadPair> unreads; +		unreads.push_back(UnreadPair("Bob", 3)); +		ChatMessageSummarizer summary; +		CPPUNIT_ASSERT_EQUAL(string("Bob (3)"), summary.getSummary(current, unreads)); +	} + +	void testCurrentCountOthersNone() { +		string current("Bob"); +		vector<UnreadPair> unreads; +		unreads.push_back(UnreadPair("Bert", 0)); +		unreads.push_back(UnreadPair("Bob", 3)); +		unreads.push_back(UnreadPair("Betty", 0)); +		ChatMessageSummarizer summary; +		CPPUNIT_ASSERT_EQUAL(string("Bob (3)"), summary.getSummary(current, unreads)); +	} + +	void testCurrentCountOtherCount() { +		string current("Bob"); +		vector<UnreadPair> unreads; +		unreads.push_back(UnreadPair("Bert", 0)); +		unreads.push_back(UnreadPair("Bob", 3)); +		unreads.push_back(UnreadPair("Betty", 7)); +		ChatMessageSummarizer summary; +		CPPUNIT_ASSERT_EQUAL(string("Bob (3), Betty (7)"), summary.getSummary(current, unreads)); +	} + +	void testCurrentNoneOtherCount() { +		string current("Bob"); +		vector<UnreadPair> unreads; +		unreads.push_back(UnreadPair("Bert", 0)); +		unreads.push_back(UnreadPair("Bob", 0)); +		unreads.push_back(UnreadPair("Betty", 7)); +		ChatMessageSummarizer summary; +		CPPUNIT_ASSERT_EQUAL(string("Bob, Betty (7)"), summary.getSummary(current, unreads)); +	} + +	void testCurrentNoneOthersCount() { +		string current("Bob"); +		vector<UnreadPair> unreads; +		unreads.push_back(UnreadPair("Bert", 2)); +		unreads.push_back(UnreadPair("Bob", 0)); +		unreads.push_back(UnreadPair("Betty", 7)); +		ChatMessageSummarizer summary; +		CPPUNIT_ASSERT_EQUAL(string("Bob and 2 others (9)"), summary.getSummary(current, unreads)); +	} + +	void testCurrentCountOthersCount() { +		string current("Bob"); +		vector<UnreadPair> unreads; +		unreads.push_back(UnreadPair("Bert", 2)); +		unreads.push_back(UnreadPair("Bob", 11)); +		unreads.push_back(UnreadPair("Betty", 7)); +		ChatMessageSummarizer summary; +		CPPUNIT_ASSERT_EQUAL(string("Bob (11) and 2 others (9)"), summary.getSummary(current, unreads)); +	} + +	void testCurrentCountSomeOthersCount() { +		string current("Bob"); +		vector<UnreadPair> unreads; +		unreads.push_back(UnreadPair("Bert", 2)); +		unreads.push_back(UnreadPair("Beverly", 0)); +		unreads.push_back(UnreadPair("Bob", 11)); +		unreads.push_back(UnreadPair("Beatrice", 0)); +		unreads.push_back(UnreadPair("Betty", 7)); +		ChatMessageSummarizer summary; +		CPPUNIT_ASSERT_EQUAL(string("Bob (11) and 2 others (9)"), summary.getSummary(current, unreads)); +	} + +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(ChatMessageSummarizerTest); diff --git a/Swift/Controllers/UnitTest/MockChatWindow.h b/Swift/Controllers/UnitTest/MockChatWindow.h index 53a90a7..82c5b52 100644 --- a/Swift/Controllers/UnitTest/MockChatWindow.h +++ b/Swift/Controllers/UnitTest/MockChatWindow.h @@ -34,12 +34,13 @@ namespace Swift {  			virtual void setRosterModel(Roster* /*roster*/) {};  			virtual void setTabComplete(TabComplete*) {};  			virtual void replaceLastMessage(const std::string&) {}; +			virtual void replaceMessage(const std::string&, const std::string&, const boost::posix_time::ptime&) {};  			void setAckState(const std::string& /*id*/, AckState /*state*/) {};  			virtual void flash() {};  			boost::signal<void ()> onClosed;  			boost::signal<void ()> onAllMessagesRead; -			boost::signal<void (const std::string&)> onSendMessageRequest; +			boost::signal<void (const std::string&, bool isCorrection)> onSendMessageRequest;  			std::string name_;  			std::string lastMessageBody_; diff --git a/Swift/Controllers/UnitTest/MockMainWindow.h b/Swift/Controllers/UnitTest/MockMainWindow.h index afa5c2a..f773062 100644 --- a/Swift/Controllers/UnitTest/MockMainWindow.h +++ b/Swift/Controllers/UnitTest/MockMainWindow.h @@ -20,6 +20,7 @@ namespace Swift {  			virtual void setMyAvatarPath(const std::string& /*path*/) {};  			virtual void setMyStatusText(const std::string& /*status*/) {};  			virtual void setMyStatusType(StatusShow::Type /*type*/) {}; +			virtual void setAvailableAdHocCommands(const std::vector<DiscoItems::Item>& /*commands*/) {};  			virtual void setConnecting() {};  			Roster* roster; | 
 Swift
 Swift