Пример #1
0
TEST(NetworkTest, testOpenClient)
{
	Network network;
	ASSERT_TRUE(network.openServer(PORT, &serverListener)) << network.getError();
	ASSERT_TRUE(network.openClient(LOCALHOST, PORT, &listener)) << network.getError();
	network.closeClient();
	network.closeServer();
}
Пример #2
0
TEST(NetworkTest, testSendToClient)
{
	Network network;
	ASSERT_TRUE(network.openServer(PORT, &serverListener)) << network.getError();
	ASSERT_TRUE(network.openClient(LOCALHOST, PORT, &listener)) << network.getError();
	const DisconnectMessage msg;
	network.update(0);
	network.sendToClients(0, msg);
	network.update(0);
	network.closeClient();
	network.closeServer();
}
Пример #3
0
TEST(NetworkTest, testSendStringList)
{
	std::vector<std::string> names;
	names.push_back("Test1");
	names.push_back("Test2");
	PlayerListMessage msgNames(names);
	Network network;
	ASSERT_TRUE(network.openServer(PORT, &serverListener)) << network.getError();
	class NetworkNameListTestListener: public IClientCallback {
	public:
		NetworkNameListTestListener() :
				count(0) {
		}
		int count;
		void onData(ByteStream &data) override
		{
			ASSERT_EQ(protocol::PROTO_PLAYERLIST, data.readByte());
			PlayerListMessage msg(data);
			ASSERT_EQ("Test1", msg.getList()[0]);
			ASSERT_EQ("Test2", msg.getList()[1]);
			++count;
		}
	};
	NetworkNameListTestListener nameListener;
	ASSERT_TRUE(network.openClient(LOCALHOST, PORT, &nameListener)) << network.getError();
	network.update(0);
	network.sendToAllClients(msgNames);
	network.update(5000);
	network.sendToAllClients(msgNames);
	network.update(5000);
	network.sendToAllClients(msgNames);
	network.update(5000);
	ASSERT_EQ(3, nameListener.count);
	network.closeClient();
	network.closeServer();
}