Files
pilotclient/tests/blackcore/testnetwork.cpp
2014-06-13 00:45:03 +02:00

62 lines
2.2 KiB
C++

/* Copyright (C) 2013 VATSIM Community / contributors
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "testnetwork.h"
#include "expect.h"
using namespace BlackCore;
using namespace BlackMisc;
using namespace BlackMisc::Aviation;
using namespace BlackMisc::Network;
using namespace BlackMisc::Geo;
using namespace BlackMisc::PhysicalQuantities;
void BlackCoreTest::CTestNetwork::networkTest(BlackCore::INetwork *net)
{
QString string = net->connectionStatusToString(INetwork::Connected);
QVERIFY(string == "Connected");
Expect e(net);
EXPECT_UNIT(e)
.send(&INetwork::presetServer, CServer("", "", "vatsim-germany.org", 6809, CUser("1234567", "", "", "123456")))
.send(&INetwork::presetCallsign, "BLACK")
.send(&INetwork::presetIcaoCodes, CAircraftIcao("C172", "P1L", "YYY", "YYY", "white"))
.send(&INetwork::initiateConnection)
.expect(&INetwork::connectionStatusChanged, [](INetwork::ConnectionStatus, INetwork::ConnectionStatus newStatus)
{
QVERIFY(newStatus == INetwork::Connecting);
qDebug() << "CONNECTING";
})
.expect(&INetwork::connectionStatusChanged, [](INetwork::ConnectionStatus, INetwork::ConnectionStatus newStatus)
{
QVERIFY(newStatus == INetwork::Connected);
qDebug() << "CONNECTED";
})
.wait(10);
EXPECT_UNIT(e)
.send(&INetwork::sendPing, "server")
.expect(&INetwork::pongReceived, [](CCallsign callsign, PhysicalQuantities::CTime elapsedTime)
{
qDebug() << "PONG" << callsign << elapsedTime;
})
.wait(10);
EXPECT_UNIT(e)
.send(&INetwork::terminateConnection)
.expect(&INetwork::connectionStatusChanged, [](INetwork::ConnectionStatus, INetwork::ConnectionStatus newStatus)
{
QVERIFY(newStatus == INetwork::Disconnecting);
qDebug() << "DISCONNECTING";
})
.expect(&INetwork::connectionStatusChanged, [](INetwork::ConnectionStatus, INetwork::ConnectionStatus newStatus)
{
QVERIFY(newStatus == INetwork::Disconnected);
qDebug() << "DISCONNECTED";
})
.wait(10);
}