@@ -0,0 +1,23 | |||||
|
1 | #ifndef SCIQLOP_UNIT_H | |||
|
2 | #define SCIQLOP_UNIT_H | |||
|
3 | ||||
|
4 | #include <QString> | |||
|
5 | #include <tuple> | |||
|
6 | ||||
|
7 | struct Unit { | |||
|
8 | explicit Unit(const QString &name = {}, bool timeUnit = false) | |||
|
9 | : m_Name{name}, m_TimeUnit{timeUnit} | |||
|
10 | { | |||
|
11 | } | |||
|
12 | ||||
|
13 | inline bool operator==(const Unit &other) const | |||
|
14 | { | |||
|
15 | return std::tie(m_Name, m_TimeUnit) == std::tie(other.m_Name, other.m_TimeUnit); | |||
|
16 | } | |||
|
17 | inline bool operator!=(const Unit &other) const { return !(*this == other); } | |||
|
18 | ||||
|
19 | QString m_Name; ///< Unit name | |||
|
20 | bool m_TimeUnit; ///< The unit is a unit of time (UTC) | |||
|
21 | }; | |||
|
22 | ||||
|
23 | #endif // SCIQLOP_UNIT_H |
@@ -94,7 +94,6 public: | |||||
94 | } |
|
94 | } | |
95 |
|
95 | |||
96 | int distance(const ArrayDataIteratorValue::Impl &other) const override try { |
|
96 | int distance(const ArrayDataIteratorValue::Impl &other) const override try { | |
97 | /// @todo ALX : validate |
|
|||
98 | const auto &otherImpl = dynamic_cast<const IteratorValue &>(other); |
|
97 | const auto &otherImpl = dynamic_cast<const IteratorValue &>(other); | |
99 | return std::distance(otherImpl.m_It, m_It) / m_NbComponents; |
|
98 | return std::distance(otherImpl.m_It, m_It) / m_NbComponents; | |
100 | } |
|
99 | } |
@@ -146,7 +146,7 public: | |||||
146 | /// @sa IDataSeries::valuesUnit() |
|
146 | /// @sa IDataSeries::valuesUnit() | |
147 | Unit valuesUnit() const override { return m_ValuesUnit; } |
|
147 | Unit valuesUnit() const override { return m_ValuesUnit; } | |
148 |
|
148 | |||
149 |
int nbPoints() const override { return |
|
149 | int nbPoints() const override { return m_ValuesData->totalSize(); } | |
150 |
|
150 | |||
151 | void clear() |
|
151 | void clear() | |
152 | { |
|
152 | { |
@@ -4,6 +4,7 | |||||
4 | #include <Common/MetaTypes.h> |
|
4 | #include <Common/MetaTypes.h> | |
5 | #include <Data/DataSeriesIterator.h> |
|
5 | #include <Data/DataSeriesIterator.h> | |
6 | #include <Data/SqpRange.h> |
|
6 | #include <Data/SqpRange.h> | |
|
7 | #include <Data/Unit.h> | |||
7 |
|
8 | |||
8 | #include <memory> |
|
9 | #include <memory> | |
9 |
|
10 | |||
@@ -12,22 +13,6 | |||||
12 | template <int Dim> |
|
13 | template <int Dim> | |
13 | class ArrayData; |
|
14 | class ArrayData; | |
14 |
|
15 | |||
15 | struct Unit { |
|
|||
16 | explicit Unit(const QString &name = {}, bool timeUnit = false) |
|
|||
17 | : m_Name{name}, m_TimeUnit{timeUnit} |
|
|||
18 | { |
|
|||
19 | } |
|
|||
20 |
|
||||
21 | inline bool operator==(const Unit &other) const |
|
|||
22 | { |
|
|||
23 | return std::tie(m_Name, m_TimeUnit) == std::tie(other.m_Name, other.m_TimeUnit); |
|
|||
24 | } |
|
|||
25 | inline bool operator!=(const Unit &other) const { return !(*this == other); } |
|
|||
26 |
|
||||
27 | QString m_Name; ///< Unit name |
|
|||
28 | bool m_TimeUnit; ///< The unit is a unit of time (UTC) |
|
|||
29 | }; |
|
|||
30 |
|
||||
31 | /** |
|
16 | /** | |
32 | * @brief The IDataSeries aims to declare a data series. |
|
17 | * @brief The IDataSeries aims to declare a data series. | |
33 | * |
|
18 | * |
@@ -296,21 +296,21 void TestVariable::testNbPoints_data() | |||||
296 | // ////////// // |
|
296 | // ////////// // | |
297 | NbPointsOperations operations{}; |
|
297 | NbPointsOperations operations{}; | |
298 |
|
298 | |||
299 |
// Sets cache range (expected nb points = |
|
299 | // Sets cache range (expected nb points = values data) | |
300 | auto cacheRange = SqpRange{date(2017, 1, 1, 12, 0, 0), date(2017, 1, 1, 12, 0, 9)}; |
|
300 | auto cacheRange = SqpRange{date(2017, 1, 1, 12, 0, 0), date(2017, 1, 1, 12, 0, 9)}; | |
301 |
operations.push_back({cacheRange, dataSeries(cacheRange), |
|
301 | operations.push_back({cacheRange, dataSeries(cacheRange), 10}); | |
302 |
|
302 | |||
303 | // Doubles cache but don't add data series (expected nb points don't change) |
|
303 | // Doubles cache but don't add data series (expected nb points don't change) | |
304 | cacheRange = SqpRange{date(2017, 1, 1, 12, 0, 0), date(2017, 1, 1, 12, 0, 19)}; |
|
304 | cacheRange = SqpRange{date(2017, 1, 1, 12, 0, 0), date(2017, 1, 1, 12, 0, 19)}; | |
305 |
operations.push_back({cacheRange, dataSeries(INVALID_RANGE), |
|
305 | operations.push_back({cacheRange, dataSeries(INVALID_RANGE), 10}); | |
306 |
|
306 | |||
307 | // Doubles cache and data series (expected nb points change) |
|
307 | // Doubles cache and data series (expected nb points change) | |
308 | cacheRange = SqpRange{date(2017, 1, 1, 12, 0, 0), date(2017, 1, 1, 12, 0, 19)}; |
|
308 | cacheRange = SqpRange{date(2017, 1, 1, 12, 0, 0), date(2017, 1, 1, 12, 0, 19)}; | |
309 |
operations.push_back({cacheRange, dataSeries(cacheRange), |
|
309 | operations.push_back({cacheRange, dataSeries(cacheRange), 20}); | |
310 |
|
310 | |||
311 | // Decreases cache (expected nb points decreases as the series is purged) |
|
311 | // Decreases cache (expected nb points decreases as the series is purged) | |
312 | cacheRange = SqpRange{date(2017, 1, 1, 12, 0, 5), date(2017, 1, 1, 12, 0, 9)}; |
|
312 | cacheRange = SqpRange{date(2017, 1, 1, 12, 0, 5), date(2017, 1, 1, 12, 0, 9)}; | |
313 |
operations.push_back({cacheRange, dataSeries(INVALID_RANGE), |
|
313 | operations.push_back({cacheRange, dataSeries(INVALID_RANGE), 5}); | |
314 |
|
314 | |||
315 | QTest::newRow("nbPoints1") << operations; |
|
315 | QTest::newRow("nbPoints1") << operations; | |
316 | } |
|
316 | } |
General Comments 0
You need to be logged in to leave comments.
Login now