Commit Graph

56 Commits

Author SHA1 Message Date
Mathew Sutcliffe
a4e3ac6f40 refs #197 fixing (hopefully) comparison between null quantities
and related rationalization of PQ comparison.
2014-04-17 00:32:41 +02:00
Klaus Basan
e474671ead refs #207, renamed CValueMap to CIndexVariantMap.
* The map will be used with CSimulaorInfo to transfer a variable number of setting information about the flight simulator. It is being used, because it is already DBus and tupel compliant. The new name better fits its purpose.
* Add == operator for CIndexVariantMap (ambiguity error with tupels)
2014-04-17 00:10:04 +02:00
Mathew Sutcliffe
c847237505 Using nested tie to workaround implementations with a maximum tuple size of 10.
refs #182
2014-03-28 17:07:36 +00:00
Roland Winklmeier
c02e2732ff Enable auto tests for test_blackmisc and test_blackcore
make check will run them automatically now.
2014-03-27 14:52:43 +01:00
Roland Winklmeier
f1bf03067b Test executables should return instead of entering the event loop. The
test cases itself will run their own event loop anyway.
2014-03-27 14:51:58 +01:00
Klaus Basan
d4f1221665 refs #197, unit test and preliminary fix for nullUnit comparison 2014-03-27 01:16:14 +01:00
Klaus Basan
57435b2a73 refs #192, some housekeeping during the JSON introduction
* removed unused tryGet methods for transponder / COM
* adjusted unit tests
2014-03-26 20:18:47 +01:00
Roland Winklmeier
5cac09f625 Fixed issues arised after merge
- wrong namespace in newly created headers
- wrong includes
- Fixed members in CKeyboardKey
- Fixed CKeyboardKey unit test
2014-03-11 22:24:25 +01:00
Roland Winklmeier
e978b6dee1 Central build configuration
* config.pri: Build configuration version
* library.pri project library dependencies
* build.pri: compiler/qmake configuration

refs #145
2014-03-11 22:01:31 +01:00
Roland Winklmeier
f3076372d1 Add CKeyboardKey unit tests to BlackMisc testcases
refs #83
2014-03-11 21:50:24 +01:00
Klaus Basan
6a24626c79 refs #146, Minor changes and cleanup tasks
* CCallsign::getCallsignPronounced -> getTelephonyDesignator
* CAircraft , comments renamed to 1 line style //!
* CAtcStation, comments renamed to 1 line style //! and added method hasValidFrequency()
* CAvioTransponder changed formatting
* CUser, comments renamed to 1 line style //!
* CCallsign, m_callsignPronounced -> m_telephonyDesignator , comments renamed to 1 line style //!
2014-02-26 03:44:31 +01:00
Klaus Basan
34c75c7505 Fixed unit tests, only minor changes 2014-02-05 23:16:17 +00:00
Klaus Basan
6962a764be Regression test for removeIf, used to identify issue #114 2014-02-05 23:15:53 +00:00
Klaus Basan
e728a4ab50 Latest container changes 2014-01-30 21:50:01 +01:00
Mathew Sutcliffe
e118c2fc5e fixed GCC warning relating to an assignment being used as a conditional expression 2014-01-29 23:08:56 +00:00
Mathew Sutcliffe
1e153b45f0 refs #108, added find methods in CSequence and CCollection;
CSequence uses std::find, and CCollection uses the more efficient find method of the implementation type,
which requires that the implementation type be an associative container like QSet or std::set.
Modified CContainerBase::contains to use these new find methods.
2014-01-28 18:25:14 +00:00
Klaus Basan
dc38565a8d Added unit test for callsign list, enabled unit tests 2014-01-27 16:10:02 +01:00
Klaus Basan
0e7c71f91b Unit test for callsign list 2014-01-26 23:14:43 +01:00
Klaus Basan
0bdccd34c7 Unit test: Callsign test 2014-01-25 01:40:20 +01:00
Mathew Sutcliffe
db4c05dd9f refs #84 removed the CValueObject::compare method and added a friend function BlackMisc::compare to replace it.
The new compare is implemented using "multimethods" described in the book Advanced C++ Programming Styles and Idioms by James Coplien.

First, the isA method is used to determine which of the values being compared is the most general. (For example, CLength is more general than CAltitude.)
Then the compareImpl method is called on the most general value, with the other value as an argument.
If there is not a direct inheritance relation between the two values (or they are the same class) then the comparison is invalid and a assert is triggered.
2014-01-17 01:38:27 +00:00
Mathew Sutcliffe
6a9065b37f Container classes: removed templated ctors and added static methods to replace them.
This resolves an issue with infinite recursion and stack overflows in MSVC2010.
See also http://connect.microsoft.com/VisualStudio/feedback/details/522094/
2014-01-11 01:32:24 +00:00
Klaus Basan
51cbd2a394 all app projects need QT+=network used by the core for downloading ATC bookings
refs #81
2014-01-09 01:15:57 +00:00
Klaus Basan
bb61654a29 style and consistency:
* rename CStatusMessages to CStatusMessageList
* rename NetworkVatlib to CNetworkVatlib
* replace all occurrences of Realname with RealName (correct camel case)
* CSequence method corresponding to CList::append is push_back
* don't compile the qdbuscpp2xml metadata plugin by default
* CAircraftIcao string members always trimmed and capitalized
* added CComSystem::roundTo25KHz
* using epsilon comparison in a couple of places

refs #81
2014-01-09 01:15:56 +00:00
Klaus Basan
ab17dabd5b samples and tests for all kbatclist branch changes
refs #81
2014-01-08 01:00:28 +00:00
Mathew Sutcliffe
a57e640398 generic type-erased container types CSequence and CCollection, including predicate-based algorithms
refs #81
2014-01-08 00:59:31 +00:00
Klaus Basan
978f3c88e5 style changes and removals of typeid
refs #81
2014-01-08 00:57:43 +00:00
Mathew Sutcliffe
e12d7fbd7a Had a bit of spare time so tried out the policy design pattern I've been learning about, applying it to PQ converters.
Some interesting results:
* Minor simplification of PQ converters and unit ctors; may not seem like much, but I think it enables possible future simplifications of a similar kind.
* CMeasurementPrefix is gone, no longer needed. Now prefixes are applied at the template stage.
* Apart from that, PQs public API is unchanged.
* Discovered that ft/s^2 conversion factor was wrong: fixed.
2013-09-15 22:01:11 +01:00
Mathew Sutcliffe
74452599bf disambiguate metric tonne (1,000kg) and US ton (2,000lb) 2013-08-22 19:59:41 +01:00
Mathew Sutcliffe
9b239f12aa fixes for MinGW, including adding CONFIG += c++11 in all qmake project files 2013-08-19 18:46:37 +01:00
Mathew Sutcliffe
cec9de5cc5 use enums instead of bools to distinguish true/magnetic headings and tracks and MSL/AGL altitudes 2013-08-19 18:11:54 +01:00
Mathew Sutcliffe
da8ba9aac3 First major wave of PQ refactoring, including but not limited to:
* Default unit is more clearly stated in one place, not restated in many different places, and is not always the SI unit
* Converter strategy pattern in CMeasurementUnit, covering linear, affine, and different kinds of sexagesimal units
* General reorganization of CMeasurementUnit construction and CPhysicalQuantity methods, not removing any behvaiour
* Move duplicated method unitFromSymbol from derived classes into base class CMeasurementUnit
* For DBus, CPhysicalQuantity marshals both in its own unit and in the default unit
2013-08-19 03:05:08 +01:00
Mathew Sutcliffe
5d4fcc8d40 resolved pressure constants 1013.2hPa != 29.92inHg 2013-08-18 17:29:37 +01:00
Mathew Sutcliffe
baa0ac147e remove integer quantities 2013-08-14 18:05:15 +01:00
Mathew Sutcliffe
586be27502 update unit tests 2013-08-14 18:05:13 +01:00
Klaus Basan
8b512ba818 DBus enabling of base classes plus sample for testing / show how to use them. Also qdbuscpp2xml plugin for blackmisc classes. 2013-07-22 14:33:50 +02:00
Klaus Basan
837809b96d Changed round and renamed length in vector / matrix 2013-05-01 00:00:03 +02:00
Klaus Basan
b84df5fc21 Merged with changes of MS, some similar bug fixes done in parallel 2013-04-30 02:34:15 +02:00
Klaus Basan
8f5d9263fd Fixed all issues detected by the test cases under MinGW - such as usage of abs() -> changed to qAbs(), rounding issues detected during calculations, and changed streaming methods with qDebug() (QDebug vs &QDebug issue). 2013-04-30 01:43:14 +02:00
Mathew Sutcliffe
3c2b894c93 fixed qmake files to support GNU make _and_ MSVC (discussed in #34) 2013-04-29 23:14:42 +01:00
Klaus Basan
c6426a0759 Move Math constants into class (to be consistent with other constants), tested against minGW / gcc 4.7.2 and fixed various issues (mainly initializer lists, unused variables). BlackMisc compiles now in MinGW, but still issues (especially with qDebug() friend methods) 2013-04-29 16:00:41 +02:00
Klaus Basan
c5b9c48cd6 Changed interpolator (preliminary) to work with PQs and new classes, added stubs for unit tests in BlackCore 2013-04-27 02:09:42 +02:00
Klaus Basan
5eac9be7d5 Unit tests for acceleration and more for vector 2013-04-25 20:21:04 +02:00
Klaus Basan
a31e405b6b Implemented commutative multiplications as friends in the templates, further test cases (unit tests), fixed Doxygen attributes, renamed test classes 2013-04-25 01:56:18 +02:00
Klaus Basan
472521f281 Further details on classes like epsilon compare, further unit tests. 2013-04-24 01:59:17 +02:00
Klaus Basan
bd53371de4 Fixed some issue with scalar multiplications (explicit) and continued with UNIT tests 2013-04-21 01:13:23 +02:00
Klaus Basan
f4affe55ef Had to withdraw 3Vector3D, since they store values internally as float (idiotic design). Hence qreal will be dropped. Started with Unit tests. 2013-04-20 17:46:46 +02:00
Klaus Basan
7b0468d300 Completed transformation class and created samples for this class 2013-04-20 01:49:50 +02:00
Klaus Basan
e196a5585f Added legal header, changed include guards to contain namespace prefix e.g BLACKMISC_XYZ_H 2013-04-10 00:50:25 +02:00
Klaus Basan
9a87731944 Avionics classes for Transponder, ADF, changed namespace to 2ndlevel 2013-04-09 02:00:38 +02:00
Klaus Basan
eb102372f1 Individual (per object) conversion as well as per unit (class) now possible, this is required for sexagesimal conversion (degrees) and will be required for geo-positions. Further classed for avionics. 2013-04-05 02:29:52 +02:00