mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 14:55:36 +08:00
Adjusted samples
* using QTextStream * some new samples
This commit is contained in:
@@ -1,36 +1,43 @@
|
||||
/* Copyright (C) 2013 VATSIM Community / authors
|
||||
* 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/. */
|
||||
/* Copyright (C) 2015
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "samplesphysicalquantities.h"
|
||||
#include "samplesaviation.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
#include <QTextStream>
|
||||
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackMiscTest;
|
||||
|
||||
/*!
|
||||
* Sample tests
|
||||
*/
|
||||
//! Samples
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QTextStream out(stdout, QIODevice::WriteOnly);
|
||||
|
||||
BlackMisc::initResources();
|
||||
QFile file(":blackmisc/translations/blackmisc_i18n_de.qm");
|
||||
qDebug() << (file.exists() ? "Found translations in resources" : "No translations in resources");
|
||||
out << (file.exists() ? "Found translations in resources" : "No translations in resources") << endl;
|
||||
QTranslator translator;
|
||||
bool t = translator.load("blackmisc_i18n_de", ":blackmisc/translations/");
|
||||
qDebug() << (t ? "Translator loaded" : "Translator not loaded");
|
||||
out << (t ? "Translator loaded" : "Translator not loaded") << endl;
|
||||
|
||||
|
||||
QCoreApplication a(argc, argv);
|
||||
qDebug() << "Use I18N version, y? n?";
|
||||
out << "Use I18N version, y? n?";
|
||||
out.flush();
|
||||
int yn = getchar();
|
||||
t = (yn == 'y' || yn == 'Y');
|
||||
t = t ? a.installTranslator(&translator) : false;
|
||||
qDebug() << (t ? "Installed translator" : "No translator ");
|
||||
out << (t ? "Installed translator" : "No translator ");
|
||||
|
||||
CSamplesPhysicalQuantities::samples();
|
||||
CSamplesAviation::samples();
|
||||
CSamplesPhysicalQuantities::samples(out);
|
||||
CSamplesAviation::samples(out);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
/* 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/. */
|
||||
/* Copyright (C) 2015
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "samplesaviation.h"
|
||||
#include "blackmisc/pqconstants.h"
|
||||
@@ -29,33 +33,33 @@ namespace BlackMiscTest
|
||||
/*
|
||||
* Samples
|
||||
*/
|
||||
int CSamplesAviation::samples()
|
||||
int CSamplesAviation::samples(QTextStream &out)
|
||||
{
|
||||
CHeading h1(180, CHeading::Magnetic, CAngleUnit::deg());
|
||||
CHeading h2(180, CHeading::True, CAngleUnit::deg());
|
||||
|
||||
qDebug() << h1;
|
||||
qDebug() << h1 << h2 << (h1 == h2) << (h1 != h2) << (h1 == h1);
|
||||
out << h1 << endl;
|
||||
out << h1 << " " << h2 << " " << (h1 == h2) << " " << (h1 != h2) << " " << (h1 == h1) << endl;
|
||||
|
||||
// COM system
|
||||
CComSystem c1 = CComSystem::getCom1System(125.3);
|
||||
qDebug() << c1;
|
||||
out << c1 << endl;
|
||||
c1.setActiveUnicom();
|
||||
qDebug() << c1;
|
||||
out << c1 << endl;
|
||||
|
||||
// NAV system
|
||||
CNavSystem nav1 = CNavSystem::getNav1System(110.0);
|
||||
qDebug() << nav1;
|
||||
out << nav1 << endl;
|
||||
|
||||
// Transponder tests
|
||||
CTransponder tr1("T1", 7000, CTransponder::StateStandby);
|
||||
CTransponder tr2("T2", "4532", CTransponder::ModeMil3);
|
||||
qDebug() << tr1 << tr2;
|
||||
out << tr1 << " " << tr2 << endl;
|
||||
|
||||
// Callsign and ATC station
|
||||
CCallsign callsign1("d-ambz");
|
||||
CCallsign callsign2("DAmbz");
|
||||
qDebug() << callsign1 << callsign2 << (callsign1 == callsign2);
|
||||
out << callsign1 << " " << callsign2 << " " << (callsign1 == callsign2) << endl;
|
||||
|
||||
QDateTime dtFrom = QDateTime::currentDateTimeUtc();
|
||||
QDateTime dtUntil = dtFrom.addSecs(60 * 60.0); // 1 hour
|
||||
@@ -70,8 +74,11 @@ namespace BlackMiscTest
|
||||
CAtcStation station3(CCallsign("eddm_twr"), CUser("654321", "Jen Doe"),
|
||||
CFrequency(118.7, CFrequencyUnit::MHz()),
|
||||
geoPos, CLength(100, CLengthUnit::km()), false, dtFrom2, dtUntil2);
|
||||
qDebug() << station1 << station2 << (station1.getCallsign() == station2.getCallsign());
|
||||
out << station1 << " " << station2 << " " << (station1.getCallsign() == station2.getCallsign()) << endl;
|
||||
|
||||
// User parsing
|
||||
CUser user("12345", "Joe KING KGLC");
|
||||
out << user.getRealName() << user.getHomebase() << endl;
|
||||
|
||||
// ATC List
|
||||
CAtcStationList atcList;
|
||||
@@ -83,18 +90,18 @@ namespace BlackMiscTest
|
||||
atcList.push_back(station3);
|
||||
atcList = atcList.findBy(&CAtcStation::getCallsign, "eddm_twr", &CAtcStation::getFrequency, CFrequency(118.7, CFrequencyUnit::MHz()));
|
||||
atcList = atcList.sortedBy(&CAtcStation::getBookedFromUtc, &CAtcStation::getCallsign, &CAtcStation::getControllerRealName);
|
||||
qDebug() << atcList;
|
||||
qDebug() << "-----------------------------------------------";
|
||||
out << atcList << endl;
|
||||
out << "-----------------------------------------------" << endl;
|
||||
|
||||
// flight plan
|
||||
CAltitude alt("FL110");
|
||||
CAltitude altMsl(alt);
|
||||
altMsl.toMeanSeaLevel();
|
||||
|
||||
qDebug() << alt << altMsl;
|
||||
out << alt << " " << altMsl << endl;
|
||||
CAirportIcao frankfurt("eddf");
|
||||
qDebug() << frankfurt;
|
||||
qDebug() << "-----------------------------------------------";
|
||||
out << frankfurt << endl;
|
||||
out << "-----------------------------------------------" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
/* 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/. */
|
||||
/* Copyright (C) 2015
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef BLACKMISCTEST_SAMPLESAVIATION_H
|
||||
#define BLACKMISCTEST_SAMPLESAVIATION_H
|
||||
|
||||
#include <QTextStream>
|
||||
|
||||
namespace BlackMiscTest
|
||||
{
|
||||
|
||||
@@ -14,7 +22,7 @@ namespace BlackMiscTest
|
||||
{
|
||||
public:
|
||||
//! Run the samples
|
||||
static int samples();
|
||||
static int samples(QTextStream &out);
|
||||
};
|
||||
} // namespace
|
||||
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
/* 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/. */
|
||||
/* Copyright (C) 2015
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "samplesphysicalquantities.h"
|
||||
#include "blackmisc/variant.h"
|
||||
@@ -15,65 +19,65 @@ namespace BlackMiscTest
|
||||
/**
|
||||
* Running the quantities
|
||||
*/
|
||||
int CSamplesPhysicalQuantities::samples()
|
||||
int CSamplesPhysicalQuantities::samples(QTextStream &out)
|
||||
{
|
||||
// parsing
|
||||
CSpeed parsedPq1 = CPqString::parseToVariant("100.123 km/h").value<CSpeed>();
|
||||
CLength parsedPq2 = CPqString::parseToVariant("-33.123ft").value<CLength>();
|
||||
CVariant parsedPq3 = CPqString::parseToVariant("666");
|
||||
qDebug() << "parsed" << parsedPq1 << parsedPq2 << parsedPq3;
|
||||
out << "parsed" << " " << parsedPq1 << " " << parsedPq2 << " " << parsedPq3 << endl;
|
||||
|
||||
CSpeed speedParsed = CPqString::parse<CSpeed>("111.33ft/s");
|
||||
CFrequency frequencyParsed = CPqString::parse<CFrequency>("122.8MHz");
|
||||
qDebug() << "parsed" << speedParsed << speedParsed.valueRoundedWithUnit(2, true) << frequencyParsed << frequencyParsed.valueRoundedWithUnit(2, true);
|
||||
out << "parsed" << " " << speedParsed << " " << speedParsed.valueRoundedWithUnit(2, true) << frequencyParsed << " " << frequencyParsed.valueRoundedWithUnit(2, true) << endl;
|
||||
|
||||
// the time clasas
|
||||
CTime time1;
|
||||
time1.parseFromString("11:30"); // hhmm
|
||||
qDebug() << time1 << time1.toQTime() << time1.formattedHrsMin();
|
||||
out << time1 << " " << time1.toQTime().toString() << " " << time1.formattedHrsMin() << endl;
|
||||
|
||||
CTime time2;
|
||||
time2.parseFromString("-11:30"); // hhmm
|
||||
qDebug() << time2 << time2.toQTime() << time2.formattedHrsMin();
|
||||
out << time2 << " " << time2.toQTime().toString() << " " << time2.formattedHrsMin() << endl;
|
||||
|
||||
time1 += time2;
|
||||
qDebug() << time1 << time1.toQTime() << time1.formattedHrsMin();
|
||||
out << "0 time: " << time1 << " " << time1.toQTime().toString() << " " << time1.formattedHrsMin() << endl;
|
||||
|
||||
// standard tests
|
||||
CLengthUnit lu1(CLengthUnit::cm());
|
||||
CLengthUnit lu2(CLengthUnit::ft());
|
||||
QString lu1s = lu1.toQString(true);
|
||||
QString lu2s = lu2.toQString(true);
|
||||
qDebug() << lu1 << lu2 << lu1s << lu2s << lu1.getName(true) << lu2.getName(true);
|
||||
out << "units: " << lu1 << " " << lu2 << " " << lu1s << " " << lu2s << " " << lu1.getName(true) << " " << lu2.getName(true) << endl;
|
||||
const CLength l1(5.0, CLengthUnit::ft()); // 5 ft
|
||||
CLength l2(1, CLengthUnit::NM()); // 1NM
|
||||
CLength l3(1, CLengthUnit::km());
|
||||
CLength l4(l3);
|
||||
|
||||
qDebug() << CLengthUnit::ft();
|
||||
qDebug() << l1 << l2 << l3 << l4;
|
||||
qDebug() << l1.valueRoundedWithUnit(CLengthUnit::ft(), 5)
|
||||
<< l2.valueRoundedWithUnit(CLengthUnit::km());
|
||||
qDebug() << l3.getUnit();
|
||||
out << CLengthUnit::ft() << endl;
|
||||
out << l1 << " " << l2 << " " << l3 << " " << l4 << endl;
|
||||
out << l1.valueRoundedWithUnit(CLengthUnit::ft(), 5)
|
||||
<< " " << l2.valueRoundedWithUnit(CLengthUnit::km()) << endl;
|
||||
out << l3.getUnit() << endl;
|
||||
|
||||
l2.switchUnit(CLengthUnit::ft()); // now in ft
|
||||
l3 += l3; // 2km now
|
||||
l3 *= 1.5;// 3km now
|
||||
qDebug() << l2 << l3;
|
||||
out << l2 << " " << l3 << endl;
|
||||
|
||||
l3 = l3 * 2;
|
||||
qDebug() << "doubled l3:" << l3;
|
||||
out << "doubled l3: " << l3 << endl;
|
||||
|
||||
// more tests
|
||||
CFrequency f1(1E6, CFrequencyUnit::Hz()); // 1MHz
|
||||
qDebug() << f1 << f1.valueRoundedWithUnit(CFrequencyUnit::MHz()) << f1.valueRoundedWithUnit(CFrequencyUnit::GHz(), 3);
|
||||
out << f1 << " " << f1.valueRoundedWithUnit(CFrequencyUnit::MHz()) << " " << f1.valueRoundedWithUnit(CFrequencyUnit::GHz(), 3);
|
||||
|
||||
CSpeed s1 = CSpeed(100, CSpeedUnit::km_h());
|
||||
CSpeed s2 = CSpeed(1000, CSpeedUnit::ft_min());
|
||||
CSpeed s3 = CSpeed(s2);
|
||||
s3.switchUnit(CSpeedUnit::m_s());
|
||||
qDebug() << s1 << s1.valueRoundedWithUnit(CSpeedUnit::defaultUnit()) << s1.valueRoundedWithUnit(CSpeedUnit::NM_h());
|
||||
qDebug() << s2 << s3;
|
||||
out << s1 << " " << s1.valueRoundedWithUnit(CSpeedUnit::defaultUnit()) << " " << s1.valueRoundedWithUnit(CSpeedUnit::NM_h());
|
||||
out << s2 << " " << s3 << endl;
|
||||
|
||||
CAngle a1(180, CAngleUnit::deg());
|
||||
CAngle a2(1.5 * CAngle::PI(), CAngleUnit::rad());
|
||||
@@ -81,36 +85,36 @@ namespace BlackMiscTest
|
||||
CAngle a4(35.4336, CAngleUnit::sexagesimalDeg()); // 35.72666
|
||||
a1 += a2;
|
||||
// a1 = d2; // must not work
|
||||
qDebug() << a1;
|
||||
out << a1;
|
||||
a1.switchUnit(CAngleUnit::deg());
|
||||
// a2 += d1; // must not work
|
||||
a2 = a1 + a1;
|
||||
|
||||
a2.switchUnit(CAngleUnit::deg());
|
||||
qDebug() << a1.valueRoundedWithUnit() << a1.piFactor();
|
||||
qDebug() << a2;
|
||||
out << a1.valueRoundedWithUnit() << " " << a1.piFactor() << endl;
|
||||
out << a2 << endl;
|
||||
a3.switchUnit(CAngleUnit::sexagesimalDeg());
|
||||
a4.switchUnit(CAngleUnit::deg());
|
||||
qDebug() << a3 << a4;
|
||||
out << a3 << " " << a4 << endl;
|
||||
|
||||
CMass w1(1, CMassUnit::tonne());
|
||||
CMass w2(w1);
|
||||
w2.switchUnit(CMassUnit::lb());
|
||||
qDebug() << w1 << w1.valueRoundedWithUnit(CMassUnit::kg()) << w2;
|
||||
out << w1 << " " << w1.valueRoundedWithUnit(CMassUnit::kg()) << " " << w2 << endl;
|
||||
|
||||
CPressure p1(1013.25, CPressureUnit::hPa());
|
||||
qDebug() << p1 << p1.valueRoundedWithUnit(CPressureUnit::psi()) << p1.valueRoundedWithUnit(CPressureUnit::inHg());
|
||||
out << p1 << " " << p1.valueRoundedWithUnit(CPressureUnit::psi()) << " " << p1.valueRoundedWithUnit(CPressureUnit::inHg()) << endl;
|
||||
|
||||
CTemperature t1;
|
||||
CTemperature t2(20, CTemperatureUnit::C());
|
||||
CTemperature t3(1, CTemperatureUnit::F());
|
||||
qDebug() << t1 << t2 << t2.valueRoundedWithUnit(CTemperatureUnit::defaultUnit(), -1, true);
|
||||
qDebug() << t3.valueRoundedWithUnit(CTemperatureUnit::F(), -1, true) << t3.valueRoundedWithUnit(CTemperatureUnit::C(), -1, true) << "I18N/UTF";
|
||||
out << t1 << " " << t2 << " " << t2.valueRoundedWithUnit(CTemperatureUnit::defaultUnit(), -1, true);
|
||||
out << t3.valueRoundedWithUnit(CTemperatureUnit::F(), -1, true) << " " << t3.valueRoundedWithUnit(CTemperatureUnit::C(), -1, true) << " " << "I18N/UTF" << endl;
|
||||
|
||||
(t1 - t2).switchUnit(CTemperatureUnit::F()); // was not working since wrong return type const
|
||||
// CLengthUnit duA(CSpeedUnit::ft_min()); // no longer possible
|
||||
CLengthUnit duB(CLengthUnit::cm());
|
||||
qDebug() << duB;
|
||||
out << duB << endl;
|
||||
|
||||
CTime ti1(1, CTimeUnit::h());
|
||||
CTime ti2(ti1);
|
||||
@@ -122,14 +126,14 @@ namespace BlackMiscTest
|
||||
CTime ti7("20s");
|
||||
CTime ti8("12:30:40");
|
||||
|
||||
qDebug() << ti1 << ti2 << ti3 << ti4 << ti5;
|
||||
qDebug() << ti6 << ti7 << ti8;
|
||||
out << ti1 << " " << ti2 << " " << ti3 << " " << ti4 << " " << ti5 << endl;
|
||||
out << ti6 << " " << ti7 << " " << ti8 << endl;
|
||||
|
||||
CAcceleration ac1(10, CAccelerationUnit::m_s2());
|
||||
qDebug() << ac1 << ac1.toQString(true) << ac1.valueRoundedWithUnit(-1, true) << "I18N/UTF";
|
||||
out << ac1 << " " << ac1.toQString(true) << " " << ac1.valueRoundedWithUnit(-1, true) << " " << "I18N/UTF" << endl;
|
||||
|
||||
// bye
|
||||
qDebug() << "-----------------------------------------------";
|
||||
out << "-----------------------------------------------" << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,27 +1,31 @@
|
||||
/* Copyright (C) 2013 VATSIM Community / authors
|
||||
* 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/. */
|
||||
/* Copyright (C) 2015
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef BLACKMISCTEST_SAMPLESPHYSICALQUANTITIES_H
|
||||
#define BLACKMISCTEST_SAMPLESPHYSICALQUANTITIES_H
|
||||
|
||||
#include "blackmisc/pqconstants.h"
|
||||
#include <QDebug>
|
||||
#include <QTextStream>
|
||||
|
||||
namespace BlackMiscTest {
|
||||
|
||||
/*!
|
||||
* \brief Samples for physical quantities
|
||||
*/
|
||||
class CSamplesPhysicalQuantities
|
||||
namespace BlackMiscTest
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
* \brief Run the samples
|
||||
*/
|
||||
static int samples();
|
||||
};
|
||||
|
||||
//! Samples for physical quantities
|
||||
class CSamplesPhysicalQuantities
|
||||
{
|
||||
public:
|
||||
//! Run the samples
|
||||
static int samples(QTextStream &out);
|
||||
};
|
||||
}
|
||||
|
||||
#endif // guard
|
||||
|
||||
Reference in New Issue
Block a user