Files
GoldenCheetah/unittests/Core/seasonOffset/testSeasonOffset.cpp
Joachim Kohlhammer a5829c5c13 Semi automatic creation of ranges for power zones (#4543)
* Changed the UI of CPPage to inline-editing of all values in all tables
* Added a sports-specific selector for the model (cp2, cp3, ext, manual)
* Allowed to create new ranges either manually or based on the estimated
  values of the model
* Added option to reset each ranges values to those of the selected
  model
* Added message to create a new range if todays estimate differs from
  those of the currently active one
* Refined semi automatic power zones
* Added a dialog to inspect and accept only some values while adoption
* Added info messages
  * when the model does not provide FTP or PMAX
  * that AeTP is only a very rough estimate
* Added a tolerance in comparison before proposing new values
* Using the following order for defaults when adding a new manual range
  * selected row
  * last row
  * predefined defaults
* Zones-Tab: To prevent crashes, a message is shown instead of the real
  interface if a metric refresh is ongoing
* Changed Pace- and HR-Tabs to use inline editing
* Moved the unittests into the same structure as the sourcecode
* Added a simple (incomplete) unittest for kphToPace
* Improved setting the column width
* En-/Disabling the action buttons (add, delete, ...) based on the
  contents state
* Changed the layout to prevent jumping widgets when showing / hiding
  buttons
* Fixed compiler warnings from Visual-C++
* Adopt dialog: Refined layout
* Fixed the unit of "From BPM" on HR-Page
* Set the default mode to manual
Fixes #1381
2024-10-17 18:12:15 -03:00

53 lines
1.4 KiB
C++

#include "Core/Season.h"
#include <QTest>
class TestSeasonOffset: public QObject
{
Q_OBJECT
private slots:
void isValidFalse() {
SeasonOffset offset;
QCOMPARE(offset.isValid(), false);
}
void isValidTrue() {
SeasonOffset offset(-1, 1, 1);
QCOMPARE(offset.isValid(), true);
}
void significantItemInvalid() {
SeasonOffset offset;
std::pair<SeasonOffset::SeasonOffsetType, int> item = offset.getSignificantItem();
QCOMPARE(item.first, SeasonOffset::invalid);
QCOMPARE(item.second, 0);
}
void significantItemYear() {
SeasonOffset offset(-2, 1, 1);
std::pair<SeasonOffset::SeasonOffsetType, int> item = offset.getSignificantItem();
QCOMPARE(item.first, SeasonOffset::year);
QCOMPARE(item.second, -2);
}
void significantItemMonth() {
SeasonOffset offset(1, -2, 1);
std::pair<SeasonOffset::SeasonOffsetType, int> item = offset.getSignificantItem();
QCOMPARE(item.first, SeasonOffset::month);
QCOMPARE(item.second, -2);
}
void significantItemWeek() {
SeasonOffset offset(1, 1, -2);
std::pair<SeasonOffset::SeasonOffsetType, int> item = offset.getSignificantItem();
QCOMPARE(item.first, SeasonOffset::week);
QCOMPARE(item.second, -2);
}
};
QTEST_MAIN(TestSeasonOffset)
#include "testSeasonOffset.moc"