Unit tests for temperature, virtual method for value conversion

This commit is contained in:
Klaus Basan
2013-03-22 23:02:25 +01:00
parent 525910c7a3
commit 3b99954bdc
12 changed files with 136 additions and 41 deletions

View File

@@ -30,15 +30,20 @@ public:
*/
CTemperatureUnit(const CMeasurementUnit &otherUnit) : CMeasurementUnit(otherUnit) {}
/*!
* \brief Meter m
* \brief Kelvin
* \return
*/
static CTemperatureUnit& K() { static CTemperatureUnit K("Kelvin", "K", true, true); return K;}
/*!
* \brief Nautical miles NM
* \brief Centigrade C
* \return
*/
static CTemperatureUnit& C() { static CTemperatureUnit C("centigrade", "°C", false, false);return C;}
/*!
* \brief Fahrenheit F
* \return
*/
static CTemperatureUnit& F() { static CTemperatureUnit F("Fahrenheit", "°F", false, false, 5.0/9.0);return F;}
};
/*!
@@ -47,6 +52,14 @@ public:
*/
class CTemperature : public CPhysicalQuantity
{
protected:
/*!
* Specific method for temperature, a normal factor conversion is not sufficient.
* \param otherUnit
* \return
*/
virtual double calculateValueInOtherUnit(const CMeasurementUnit &otherUnit) const;
public:
/*!
* \brief Default constructor