From fca5757ec66a106b1c926dff414440e98f52f8b8 Mon Sep 17 00:00:00 2001
From: Wenduo Zhou <zhouw@ornl.gov>
Date: Thu, 7 Jun 2018 10:11:49 -0400
Subject: [PATCH] Refs #21836. Fixed the issue and submit for build server
 check.

---
 Framework/Kernel/src/TimeSeriesProperty.cpp   |   8 +-
 .../Kernel/test/TimeSeriesPropertyTest.h      | 148 +++++++++---------
 2 files changed, 79 insertions(+), 77 deletions(-)

diff --git a/Framework/Kernel/src/TimeSeriesProperty.cpp b/Framework/Kernel/src/TimeSeriesProperty.cpp
index f26a67257fd..49e533b2e8e 100644
--- a/Framework/Kernel/src/TimeSeriesProperty.cpp
+++ b/Framework/Kernel/src/TimeSeriesProperty.cpp
@@ -592,6 +592,7 @@ void TimeSeriesProperty<TYPE>::splitByTimeVector(
             << no_entry_in_range << "\n";
 
   // move along the entries to find the entry inside the current splitter
+  bool first_splitter_after_last_entry(false);
   if (!no_entry_in_range) {
     std::vector<DateAndTime>::iterator tsp_time_iter;
     tsp_time_iter = std::lower_bound(tsp_time_vec.begin(), tsp_time_vec.end(),
@@ -600,7 +601,8 @@ void TimeSeriesProperty<TYPE>::splitByTimeVector(
       // the first splitter's start time is LATER than the last TSP entry, then
       // there won't be any
       // TSP entry to be split into any target splitter.
-      no_entry_in_range = true; // too late! FIXME: this is not catched!
+      no_entry_in_range = true;
+      first_splitter_after_last_entry = true;
     } else {
       // first splitter start time is between tsp_time_iter and the one before
       // it.
@@ -615,8 +617,7 @@ void TimeSeriesProperty<TYPE>::splitByTimeVector(
     // entry"
   }
 
-  // TODO: how to initialize the first entry????
-  if (no_entry_in_range) {
+  if (no_entry_in_range && first_splitter_after_last_entry) {
     // initialize all the splitters with the last value
     DateAndTime last_entry_time = this->lastTime();
     TYPE last_entry_value = this->lastValue();
@@ -699,6 +700,7 @@ void TimeSeriesProperty<TYPE>::splitByTimeVector(
             << m_name << " has zero size";
       g_log.error(errss.str());
       std::cout << errss.str();
+      throw std::runtime_error("in which case will this happen?");
       // throw std::runtime_error(errss.str());
       // if the output has zero length, then put the last valid entrance ???
       // but it is not a good solution! because it can be very confusing
diff --git a/Framework/Kernel/test/TimeSeriesPropertyTest.h b/Framework/Kernel/test/TimeSeriesPropertyTest.h
index 5c3a8a8a21e..96315a25c3f 100644
--- a/Framework/Kernel/test/TimeSeriesPropertyTest.h
+++ b/Framework/Kernel/test/TimeSeriesPropertyTest.h
@@ -75,13 +75,13 @@ public:
     TS_ASSERT_EQUALS(sProp->isValid(), "");
   }
 
-  void Xtest_SetValue() {
+  void test_SetValue() {
     TS_ASSERT_THROWS(iProp->setValue("1"), Exception::NotImplementedError);
     TS_ASSERT_THROWS(dProp->setValue("5.5"), Exception::NotImplementedError);
     TS_ASSERT_THROWS(sProp->setValue("aValue"), Exception::NotImplementedError);
   }
 
-  void Xtest_AddValue() {
+  void test_AddValue() {
     const std::string tester("2007-11-30T16:17:00");
     int sizepre = iProp->size();
     TS_ASSERT_THROWS_NOTHING(iProp->addValue(tester, 1));
@@ -124,7 +124,7 @@ public:
     TS_ASSERT_EQUALS(twoVals[1], threeVals[2]);
     TS_ASSERT_EQUALS(newVal, threeVals[1]);
   }
-  void Xtest_GetDerivative() {
+  void test_GetDerivative() {
     dProp->addValue("2007-11-30T16:17:10", 10);
     dProp->addValue("2007-11-30T16:17:12", 12);
     dProp->addValue("2007-11-30T16:17:01", 01);
@@ -154,7 +154,7 @@ public:
     derValues = derProp->valuesAsVector();
     TS_ASSERT_EQUALS(derValues[0], 1);
   }
-  void Xtest_timesAsVector() {
+  void test_timesAsVector() {
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
     TS_ASSERT_THROWS_NOTHING(p->addValue("2007-11-30T16:17:20", 5.55));
@@ -177,7 +177,7 @@ public:
     delete p;
   }
 
-  void Xtest_replaceValues() {
+  void test_replaceValues() {
     // Arrange
     size_t num = 1000;
     DateAndTime first("2007-11-30T16:17:10");
@@ -205,7 +205,7 @@ public:
                       103.0);
   }
 
-  void Xtest_addValues() {
+  void test_addValues() {
     size_t num = 1000;
     DateAndTime first("2007-11-30T16:17:10");
     std::vector<DateAndTime> times;
@@ -221,7 +221,7 @@ public:
     TS_ASSERT_EQUALS(tsp.nthValue(3), 3.0);
   }
 
-  void Xtest_Casting() {
+  void test_Casting() {
     TS_ASSERT_DIFFERS(dynamic_cast<Property *>(iProp),
                       static_cast<Property *>(nullptr));
     TS_ASSERT_DIFFERS(dynamic_cast<Property *>(dProp),
@@ -233,7 +233,7 @@ public:
   }
 
   //----------------------------------------------------------------------------
-  void Xtest_AdditionOperator() {
+  void test_AdditionOperator() {
     TimeSeriesProperty<int> *log = new TimeSeriesProperty<int>("MyIntLog");
     TS_ASSERT_THROWS_NOTHING(log->addValue("2007-11-30T16:17:00", 1));
     TS_ASSERT_THROWS_NOTHING(log->addValue("2007-11-30T16:19:10", 2));
@@ -262,7 +262,7 @@ public:
 
   //----------------------------------------------------------------------------
   /// Ticket 2097: This caused an infinite loop
-  void Xtest_AdditionOperatorOnYourself() {
+  void test_AdditionOperatorOnYourself() {
     TimeSeriesProperty<int> *log = createIntegerTSP(2);
 
     (*log) += log;
@@ -272,7 +272,7 @@ public:
     delete log;
   }
 
-  void Xtest_ComparisonOperator() {
+  void test_ComparisonOperator() {
     // Setup two logs and two filters so that logs have different sizes but are
     // the same size after applying the filter
 
@@ -306,7 +306,7 @@ public:
   }
 
   //----------------------------------------------------------------------------
-  void Xtest_filterByTime() {
+  void test_filterByTime() {
     TimeSeriesProperty<int> *log = createIntegerTSP(6);
     TS_ASSERT_EQUALS(log->realSize(), 6);
     DateAndTime start = DateAndTime("2007-11-30T16:17:10");
@@ -323,7 +323,7 @@ public:
   }
 
   //-------------------------------------------------------------------------------
-  void Xtest_filterByTimes1() {
+  void test_filterByTimes1() {
     TimeSeriesProperty<int> *log = createIntegerTSP(6);
     TS_ASSERT_EQUALS(log->realSize(), 6);
 
@@ -344,7 +344,7 @@ public:
     delete log;
   }
 
-  void Xtest_filterByTimesN() {
+  void test_filterByTimesN() {
     TimeSeriesProperty<int> *log = createIntegerTSP(10);
     TS_ASSERT_EQUALS(log->realSize(), 10);
 
@@ -372,7 +372,7 @@ public:
 
   //----------------------------------------------------------------------------
   /// Ticket #2591
-  void Xtest_filterByTime_ifOnlyOneValue_assumes_constant_instead() {
+  void test_filterByTime_ifOnlyOneValue_assumes_constant_instead() {
     TimeSeriesProperty<int> *log = createIntegerTSP(1);
     TS_ASSERT_EQUALS(log->realSize(), 1);
 
@@ -388,7 +388,7 @@ public:
 
   //----------------------------------------------------------------------------
   /// Ticket #2591
-  void Xtest_filterByTime_ifOnlyOneValue_assumes_constant_instead_2() {
+  void test_filterByTime_ifOnlyOneValue_assumes_constant_instead_2() {
     TimeSeriesProperty<int> *log = new TimeSeriesProperty<int>("MyIntLog");
     TS_ASSERT_THROWS_NOTHING(log->addValue("1990-01-01T00:00:00", 1));
     TS_ASSERT_EQUALS(log->realSize(), 1);
@@ -404,7 +404,7 @@ public:
   }
 
   //----------------------------------------------------------------------------
-  void Xtest_makeFilterByValue() {
+  void test_makeFilterByValue() {
     TimeSeriesProperty<double> *log =
         new TimeSeriesProperty<double>("MyIntLog");
     TS_ASSERT_THROWS_NOTHING(log->addValue("2007-11-30T16:17:00", 1));
@@ -460,14 +460,14 @@ public:
     delete log;
   }
 
-  void Xtest_makeFilterByValue_throws_for_string_property() {
+  void test_makeFilterByValue_throws_for_string_property() {
     TimeSeriesProperty<std::string> log("StringTSP");
     TimeSplitterType splitter;
     TS_ASSERT_THROWS(log.makeFilterByValue(splitter, 0.0, 0.0, 0.0, true),
                      Exception::NotImplementedError);
   }
 
-  void Xtest_expandFilterToRange() {
+  void test_expandFilterToRange() {
     TimeSeriesProperty<int> log("MyIntLog");
     TS_ASSERT_THROWS_NOTHING(log.addValue("2007-11-30T16:17:00", 1));
     TS_ASSERT_THROWS_NOTHING(log.addValue("2007-11-30T16:17:10", 2));
@@ -541,7 +541,7 @@ public:
                     1e-3);
   }
 
-  void Xtest_expandFilterToRange_throws_for_string_property() {
+  void test_expandFilterToRange_throws_for_string_property() {
     TimeSeriesProperty<std::string> log("StringTSP");
     TimeSplitterType splitter;
     TS_ASSERT_THROWS(
@@ -549,7 +549,7 @@ public:
         Exception::NotImplementedError);
   }
 
-  void Xtest_averageValueInFilter() {
+  void test_averageValueInFilter() {
     auto dblLog = createDoubleTSP();
     auto intLog = createIntegerTSP(5);
 
@@ -609,7 +609,7 @@ public:
     delete intLog;
   }
 
-  void Xtest_timeAverageValue() {
+  void test_timeAverageValue() {
     auto dblLog = createDoubleTSP();
     auto intLog = createIntegerTSP(5);
 
@@ -621,14 +621,14 @@ public:
     delete intLog;
   }
 
-  void Xtest_averageValueInFilter_throws_for_string_property() {
+  void test_averageValueInFilter_throws_for_string_property() {
     TimeSplitterType splitter;
     TS_ASSERT_THROWS(sProp->averageValueInFilter(splitter),
                      Exception::NotImplementedError);
   }
 
   //----------------------------------------------------------------------------
-  void Xtest_splitByTime_and_getTotalValue() {
+  void test_splitByTime_and_getTotalValue() {
     TimeSeriesProperty<int> *log = createIntegerTSP(12);
     // Make the outputs
     std::vector<Property *> outputs;
@@ -682,7 +682,7 @@ public:
   }
 
   //----------------------------------------------------------------------------
-  void Xtest_splitByTime_withOverlap() {
+  void test_splitByTime_withOverlap() {
     TimeSeriesProperty<int> *log = createIntegerTSP(12);
 
     // Make the outputs
@@ -720,7 +720,7 @@ public:
    * otuput 3 has entries: 7
    * @brief test_splitByTimeVector
    */
-  void Xtest_splitByTimeVector() {
+  void test_splitByTimeVector() {
     // create the splitters
     std::vector<DateAndTime> split_time_vec;
     split_time_vec.push_back(DateAndTime("2007-11-30T16:17:10"));
@@ -796,7 +796,7 @@ public:
   /** last splitter is before first entry
    * @brief test_splitByTimeVectorEarlySplitter
    */
-  void test_splitByTimeVectorEarlySplitter() {
+  void Throw_test_splitByTimeVectorEarlySplitter() {
     // create the splitters
     std::vector<DateAndTime> split_time_vec;
     split_time_vec.push_back(DateAndTime("2007-11-30T16:00:10"));
@@ -893,7 +893,7 @@ public:
     // check
     for (int i = 0; i < 4; ++i) {
       TimeSeriesProperty<int> *out_i = outputs[i];
-      TS_ASSERT_EQUALS(out_i->size(), 0);
+      TS_ASSERT_EQUALS(out_i->size(), 1);
     }
   }
 
@@ -901,7 +901,7 @@ public:
   /** high-frequency splitters splits a slow change log
    * @brief test_splitByTimeVectorFastLogSplitter
    */
-  void Xtest_splitByTimeVectorFastLogSplitter() {
+  void test_splitByTimeVectorFastLogSplitter() {
     // create test log
     TimeSeriesProperty<int> log("test log");
     log.addValue(DateAndTime("2007-11-30T16:17:00"), 1);
@@ -1017,7 +1017,7 @@ public:
   }
 
   //----------------------------------------------------------------------------
-  void Xtest_statistics() {
+  void test_statistics() {
     TimeSeriesProperty<double> *log =
         new TimeSeriesProperty<double>("MydoubleLog");
     TS_ASSERT_THROWS_NOTHING(log->addValue("2007-11-30T16:17:00", 1));
@@ -1046,7 +1046,7 @@ public:
     delete log;
   }
 
-  void Xtest_empty_statistics() {
+  void test_empty_statistics() {
     TimeSeriesProperty<double> *log =
         new TimeSeriesProperty<double>("MydoubleLog");
     TimeSeriesPropertyStatistics stats = log->getStatistics();
@@ -1060,7 +1060,7 @@ public:
     delete log;
   }
 
-  void Xtest_PlusEqualsOperator_Incompatible_Types_dontThrow() {
+  void test_PlusEqualsOperator_Incompatible_Types_dontThrow() {
     // Adding incompatible types together should not throw, but issue a warning
     // in the log
 
@@ -1081,7 +1081,7 @@ public:
     delete val;
   }
 
-  void Xtest_PlusEqualsOperator_() {
+  void test_PlusEqualsOperator_() {
     TimeSeriesProperty<double> *lhs =
         new TimeSeriesProperty<double>("doubleLog");
     TS_ASSERT_THROWS_NOTHING(lhs->addValue("2007-11-30T16:17:00", 1));
@@ -1110,7 +1110,7 @@ public:
    * boundary
    * (4) outside lower bound
    */
-  void Xtest_getSingleValue() {
+  void test_getSingleValue() {
     TimeSeriesProperty<double> *p = createDoubleTSP();
 
     DateAndTime time1("2007-11-30T16:17:23");
@@ -1136,7 +1136,7 @@ public:
     delete p;
   }
 
-  void Xtest_getSingleValue_emptyPropertyThrows() {
+  void test_getSingleValue_emptyPropertyThrows() {
     const TimeSeriesProperty<int> empty("Empty");
 
     DateAndTime time("2013-01-30T16:17:23");
@@ -1145,7 +1145,7 @@ public:
     TS_ASSERT_THROWS(empty.getSingleValue(time, i), std::runtime_error);
   }
 
-  void Xtest_firstLastTimeValue() {
+  void test_firstLastTimeValue() {
     TimeSeriesProperty<double> *p = createDoubleTSP();
 
     Mantid::Types::Core::DateAndTime t0 = p->firstTime();
@@ -1168,7 +1168,7 @@ public:
     return;
   }
 
-  void Xtest_firstLastTimeValue_emptyPropertyThrows() {
+  void test_firstLastTimeValue_emptyPropertyThrows() {
     const TimeSeriesProperty<int> empty("Empty");
 
     TS_ASSERT_THROWS(empty.firstTime(), std::runtime_error);
@@ -1177,7 +1177,7 @@ public:
     TS_ASSERT_THROWS(empty.lastValue(), std::runtime_error);
   }
 
-  void Xtest_min_max_value() {
+  void test_min_max_value() {
     // Test a double property
     const TimeSeriesProperty<double> *p = createDoubleTSP();
     TS_ASSERT_EQUALS(p->minValue(), 5.55);
@@ -1201,7 +1201,7 @@ public:
   /*
    * Test merge()
    */
-  void Xtest_Merge() {
+  void test_Merge() {
     // 1. Construct p1 and p2
     TimeSeriesProperty<double> *p1 = createDoubleTSP();
     TimeSeriesProperty<double> *p2 =
@@ -1237,7 +1237,7 @@ public:
   /*
    * Test setName and getName
    */
-  void Xtest_Name() {
+  void test_Name() {
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
 
@@ -1253,7 +1253,7 @@ public:
   /*
    * Test value()
    */
-  void Xtest_Value() {
+  void test_Value() {
     TimeSeriesProperty<double> *p = createDoubleTSP();
 
     std::string pvalue = p->value();
@@ -1269,7 +1269,7 @@ public:
   /*
    * Test valueAsVector()
    */
-  void Xtest_ValueAsVector() {
+  void test_ValueAsVector() {
     // 1. Create property
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
@@ -1294,7 +1294,7 @@ public:
   /*
    * Test clone
    */
-  void Xtest_Clone() {
+  void test_Clone() {
     // 1. Create property
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
@@ -1334,7 +1334,7 @@ public:
   /*
    * Test countSize()
    */
-  void Xtest_CountSize() {
+  void test_CountSize() {
     // 1. Create property
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
@@ -1356,7 +1356,7 @@ public:
   /*
    * Test isTimeString()
    */
-  void Xtest_IsTimeString() {
+  void test_IsTimeString() {
     TimeSeriesProperty<double> *p = new TimeSeriesProperty<double>("Test");
 
     std::string timestring1("2007-11-30T16:17:00");
@@ -1376,7 +1376,7 @@ public:
     return;
   }
 
-  void Xtest_clear() {
+  void test_clear() {
     boost::scoped_ptr<TimeSeriesProperty<int>> p(
         new TimeSeriesProperty<int>("aProp"));
     p->addValue("2007-11-30T16:17:00", 1);
@@ -1391,7 +1391,7 @@ public:
     TS_ASSERT_EQUALS(p->realSize(), 0);
   }
 
-  void Xtest_clearOutdated() {
+  void test_clearOutdated() {
     boost::scoped_ptr<TimeSeriesProperty<int>> p(
         new TimeSeriesProperty<int>("aProp"));
     p->addValue("2007-11-30T16:17:00", 99);
@@ -1425,7 +1425,7 @@ public:
   /** Test 2 create() functions by creating 3 properties in different
    * approaches.
    */
-  void Xtest_Create() {
+  void test_Create() {
     // Create property by add 4 entries
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
@@ -1499,7 +1499,7 @@ public:
   /*
    * Test time_tValue()
    */
-  void Xtest_timeTValue() {
+  void test_timeTValue() {
     // 1. Create property
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
@@ -1530,7 +1530,7 @@ public:
   /*
    * Test valueAsCorrectMap()
    */
-  void Xtest_valueAsCorrectMap() {
+  void test_valueAsCorrectMap() {
     // 1. Create property
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
@@ -1571,7 +1571,7 @@ public:
     return;
   }
 
-  void Xtest_valueAsMultiMap() {
+  void test_valueAsMultiMap() {
     // 1. Create property
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
@@ -1613,7 +1613,7 @@ public:
   /* Test method valueAsVector
    *
    */
-  void Xtest_valueAsVector() {
+  void test_valueAsVector() {
     // 1. Create property
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
@@ -1656,7 +1656,7 @@ public:
   /*
    * Test valueAsMap()
    */
-  void Xtest_valueAsMap() {
+  void test_valueAsMap() {
     // 1. Create property
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
@@ -1703,7 +1703,7 @@ public:
   /*
    * Test nth Time
    */
-  void Xtest_nthTime() {
+  void test_nthTime() {
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
 
@@ -1747,7 +1747,7 @@ public:
   /*
    * Test nthInterval()
    */
-  void Xtest_nthInterval() {
+  void test_nthInterval() {
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
 
@@ -1789,7 +1789,7 @@ public:
   /*
    * Test filterWith() and clear filter
    */
-  void Xtest_filter() {
+  void test_filter() {
     // 1. Create a base property
     Mantid::Types::Core::DateAndTime tStart("2007-11-30T16:17:00");
     std::vector<double> deltaTs;
@@ -1860,7 +1860,7 @@ public:
     return;
   }
 
-  void Xtest_filter_with_single_value_in_series() {
+  void test_filter_with_single_value_in_series() {
     auto p1 = boost::make_shared<TimeSeriesProperty<double>>("SingleValueTSP");
     p1->addValue("2007-11-30T16:17:00", 1.5);
 
@@ -1885,7 +1885,7 @@ public:
    * Filter_T0 < Log_T0 < LogTf < Filter_Tf, T... F... T... F...
    * Log will be extended to Filter_T0
    */
-  void Xtest_filterBoundary1() {
+  void test_filterBoundary1() {
     // 1. Create a base property
     Mantid::Types::Core::DateAndTime tStart("2007-11-30T16:17:00");
     std::vector<double> deltaTs;
@@ -1961,7 +1961,7 @@ public:
     * Test filterWith() on different boundary conditions
     * Filter_T0 < Log_T0 < LogTf < Filter_Tf, F... T... F... T... F...
     */
-  void Xtest_filterBoundary2() {
+  void test_filterBoundary2() {
     // 1. Create a base property
     Mantid::Types::Core::DateAndTime tStart("2007-11-30T16:17:00");
     std::vector<double> deltaTs;
@@ -2013,7 +2013,7 @@ public:
     * Test filterWith() on different boundary conditions
     * Log_T0 < Filter_T0 <  < Filter_Tf  LogTf, T... F... T... F...
     */
-  void Xtest_filterBoundary3() {
+  void test_filterBoundary3() {
     // 1. Create a base property
     Mantid::Types::Core::DateAndTime tStart("2007-11-30T16:17:00");
     std::vector<double> deltaTs;
@@ -2074,7 +2074,7 @@ public:
    * Log_T0 < Filter_T0 <  < Filter_Tf  LogTf,  F... T... F... T... F...
   */
 
-  void Xtest_filterBoundary4() {
+  void test_filterBoundary4() {
     // 1. Create a base property
     Mantid::Types::Core::DateAndTime tStart("2007-11-30T16:17:00");
     std::vector<double> deltaTs;
@@ -2126,7 +2126,7 @@ public:
    * Test getMemorySize()
    * Note that this will be same with new container
    */
-  void Xtest_getMemorySize() {
+  void test_getMemorySize() {
     TimeSeriesProperty<double> *p =
         new TimeSeriesProperty<double>("doubleProp");
 
@@ -2154,7 +2154,7 @@ public:
     return;
   }
 
-  void Xtest_filter_by_first_value() {
+  void test_filter_by_first_value() {
     TimeSeriesProperty<double> series("doubleProperty");
 
     const double expectedFilteredValue = 1;
@@ -2167,7 +2167,7 @@ public:
                       expectedFilteredValue, actualFilteredValue);
   }
 
-  void Xtest_filter_by_last_value() {
+  void test_filter_by_last_value() {
     TimeSeriesProperty<double> series("doubleProperty");
 
     const double expectedFilteredValue = 1;
@@ -2180,7 +2180,7 @@ public:
                       expectedFilteredValue, actualFilteredValue);
   }
 
-  void Xtest_filter_by_minimum_value() {
+  void test_filter_by_minimum_value() {
     TimeSeriesProperty<double> series("doubleProperty");
 
     const double expectedFilteredValue = 1;
@@ -2195,7 +2195,7 @@ public:
                       expectedFilteredValue, actualFilteredValue);
   }
 
-  void Xtest_filter_by_maximum_value() {
+  void test_filter_by_maximum_value() {
     TimeSeriesProperty<double> series("doubleProperty");
 
     const double expectedFilteredValue = 1;
@@ -2210,7 +2210,7 @@ public:
                       expectedFilteredValue, actualFilteredValue);
   }
 
-  void Xtest_filter_by_mean_value() {
+  void test_filter_by_mean_value() {
     TimeSeriesProperty<double> series("doubleProperty");
 
     const double expectedFilteredValue = 1;
@@ -2226,7 +2226,7 @@ public:
                       expectedFilteredValue, actualFilteredValue);
   }
 
-  void Xtest_filter_by_median() {
+  void test_filter_by_median() {
     TimeSeriesProperty<double> series("doubleProperty");
 
     const double expectedFilteredValue = 2;
@@ -2247,7 +2247,7 @@ public:
 
   /** A test for filter nothing
     */
-  void Xtest_filterByTime_out_of_range_filters_nothing() {
+  void test_filterByTime_out_of_range_filters_nothing() {
     TimeSeriesProperty<int> *log = createIntegerTSP(6);
 
     size_t original_size = log->realSize();
@@ -2268,7 +2268,7 @@ public:
   }
 
   /// Test that getStatistics respects the filter
-  void Xtest_getStatistics_filtered() {
+  void test_getStatistics_filtered() {
     const auto &log = getFilteredTestLog();
 
     // Get the stats and compare to expected values
@@ -2282,12 +2282,12 @@ public:
   }
 
   /// Test that timeAverageValue respects the filter
-  void Xtest_timeAverageValue_filtered() {
+  void test_timeAverageValue_filtered() {
     const auto &log = getFilteredTestLog();
     TS_ASSERT_DELTA(log->timeAverageValue(), 5.588, 1e-3);
   }
 
-  void Xtest_filteredValuesAsVector() {
+  void test_filteredValuesAsVector() {
     const auto &log = getFilteredTestLog();
 
     const auto &unfilteredValues = log->valuesAsVector();
@@ -2298,7 +2298,7 @@ public:
     TS_ASSERT_EQUALS(filteredValues.size(), 9);
   }
 
-  void Xtest_getSplittingIntervals_noFilter() {
+  void test_getSplittingIntervals_noFilter() {
     const auto &log = getTestLog(); // no filter
     const auto &intervals = log->getSplittingIntervals();
     TS_ASSERT_EQUALS(intervals.size(), 1);
@@ -2307,7 +2307,7 @@ public:
     TS_ASSERT_EQUALS(range.stop(), log->lastTime());
   }
 
-  void Xtest_getSplittingIntervals_repeatedEntries() {
+  void test_getSplittingIntervals_repeatedEntries() {
     const auto &log = getTestLog();
     // Add the filter
     auto filter =
@@ -2334,7 +2334,7 @@ public:
     }
   }
 
-  void Xtest_getSplittingIntervals_startEndTimes() {
+  void test_getSplittingIntervals_startEndTimes() {
     const auto &log = getTestLog();
     // Add the filter
     auto filter =
-- 
GitLab