Skip to content
Snippets Groups Projects
Commit 492ddb9c authored by Gigg, Martyn Anthony's avatar Gigg, Martyn Anthony
Browse files

Add a test to LogFilterTest Refs #5203

Needs debugging by Wendou for it to be turned on.
parent 566362d4
No related merge requests found
...@@ -70,34 +70,27 @@ public: ...@@ -70,34 +70,27 @@ public:
flt.addFilter(&f); flt.addFilter(&f);
TS_ASSERT_EQUALS( flt.data()->size(), 6 ); TS_ASSERT_EQUALS( flt.data()->size(), 6 );
std::cout << "flt.data() size = " << flt.data()->size() << std::endl;
std::cout << "0" << std::endl;
TS_ASSERT_EQUALS( flt.data()->nthInterval(0).begin_str(), "2007-Nov-30 16:16:50" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(0).begin_str(), "2007-Nov-30 16:16:50" );
TS_ASSERT_EQUALS( flt.data()->nthInterval(0).end_str(), "2007-Nov-30 16:17:00" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(0).end_str(), "2007-Nov-30 16:17:00" );
TS_ASSERT_EQUALS( flt.data()->nthValue(0), 1 ); TS_ASSERT_EQUALS( flt.data()->nthValue(0), 1 );
std::cout << "1" << std::endl;
TS_ASSERT_EQUALS( flt.data()->nthInterval(1).begin_str(), "2007-Nov-30 16:17:00" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(1).begin_str(), "2007-Nov-30 16:17:00" );
TS_ASSERT_EQUALS( flt.data()->nthInterval(1).end_str(), "2007-Nov-30 16:17:10" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(1).end_str(), "2007-Nov-30 16:17:10" );
TS_ASSERT_EQUALS( flt.data()->nthValue(1), 1 ); TS_ASSERT_EQUALS( flt.data()->nthValue(1), 1 );
std::cout << "2" << std::endl;
TS_ASSERT_EQUALS( flt.data()->nthInterval(2).begin_str(), "2007-Nov-30 16:17:10" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(2).begin_str(), "2007-Nov-30 16:17:10" );
TS_ASSERT_EQUALS( flt.data()->nthInterval(2).end_str(), "2007-Nov-30 16:17:20" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(2).end_str(), "2007-Nov-30 16:17:20" );
TS_ASSERT_EQUALS( flt.data()->nthValue(2), 2 ); TS_ASSERT_EQUALS( flt.data()->nthValue(2), 2 );
std::cout << "3" << std::endl;
TS_ASSERT_EQUALS( flt.data()->nthInterval(3).begin_str(), "2007-Nov-30 16:17:20" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(3).begin_str(), "2007-Nov-30 16:17:20" );
TS_ASSERT_EQUALS( flt.data()->nthInterval(3).end_str(), "2007-Nov-30 16:17:25" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(3).end_str(), "2007-Nov-30 16:17:25" );
TS_ASSERT_EQUALS( flt.data()->nthValue(3), 3 ); TS_ASSERT_EQUALS( flt.data()->nthValue(3), 3 );
std::cout << "4" << std::endl;
TS_ASSERT_EQUALS( flt.data()->nthInterval(4).begin_str(), "2007-Nov-30 16:17:39" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(4).begin_str(), "2007-Nov-30 16:17:39" );
TS_ASSERT_EQUALS( flt.data()->nthInterval(4).end_str(), "2007-Nov-30 16:17:40" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(4).end_str(), "2007-Nov-30 16:17:40" );
TS_ASSERT_EQUALS( flt.data()->nthValue(4), 4 ); TS_ASSERT_EQUALS( flt.data()->nthValue(4), 4 );
std::cout << "5" << std::endl;
TS_ASSERT_EQUALS( flt.data()->nthInterval(5).begin_str(), "2007-Nov-30 16:17:40" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(5).begin_str(), "2007-Nov-30 16:17:40" );
TS_ASSERT_EQUALS( flt.data()->nthInterval(5).end_str(), "2007-Nov-30 16:17:41" ); TS_ASSERT_EQUALS( flt.data()->nthInterval(5).end_str(), "2007-Nov-30 16:17:41" );
TS_ASSERT_EQUALS( flt.data()->nthValue(5), 5 ); TS_ASSERT_EQUALS( flt.data()->nthValue(5), 5 );
...@@ -189,6 +182,79 @@ public: ...@@ -189,6 +182,79 @@ public:
return; return;
} }
void xtestFilterByPeriod() // Test for Wendou to look at
{
TimeSeriesProperty<double> height_log("height_log");
height_log.addValue("2008-Jun-17 11:10:44", -0.86526);
height_log.addValue("2008-Jun-17 11:10:45", -1.17843);
height_log.addValue("2008-Jun-17 11:10:47", -1.27995);
height_log.addValue("2008-Jun-17 11:20:15", -1.38216);
height_log.addValue("2008-Jun-17 11:20:16", -1.87435);
height_log.addValue("2008-Jun-17 11:20:17", -2.70547);
height_log.addValue("2008-Jun-17 11:20:19", -2.99125);
height_log.addValue("2008-Jun-17 11:20:20", -3);
height_log.addValue("2008-Jun-17 11:20:27", -2.98519);
height_log.addValue("2008-Jun-17 11:20:29", -2.68904);
height_log.addValue("2008-Jun-17 11:20:30", -2.5);
height_log.addValue("2008-Jun-17 11:20:38", -2.45909);
height_log.addValue("2008-Jun-17 11:20:39", -2.08764);
height_log.addValue("2008-Jun-17 11:20:40", -2);
height_log.addValue("2008-Jun-17 11:20:50", -1.85174);
height_log.addValue("2008-Jun-17 11:20:51", -1.51258);
height_log.addValue("2008-Jun-17 11:20:52", -1.5);
height_log.addValue("2008-Jun-17 11:21:01", -1.48566);
height_log.addValue("2008-Jun-17 11:21:02", -1.18799);
height_log.addValue("2008-Jun-17 11:21:04", -1);
height_log.addValue("2008-Jun-17 11:21:11", -0.98799);
height_log.addValue("2008-Jun-17 11:21:13", -0.63694);
height_log.addValue("2008-Jun-17 11:21:14", -0.5);
height_log.addValue("2008-Jun-17 11:21:23", -0.46247);
height_log.addValue("2008-Jun-17 11:21:24", -0.08519);
height_log.addValue("2008-Jun-17 11:21:25", 0);
TimeSeriesProperty<bool> period_log("period 7");
period_log.addValue("2008-Jun-17 11:11:13", false);
period_log.addValue("2008-Jun-17 11:11:13", false);
period_log.addValue("2008-Jun-17 11:11:18", false);
period_log.addValue("2008-Jun-17 11:11:30", false);
period_log.addValue("2008-Jun-17 11:11:42", false);
period_log.addValue("2008-Jun-17 11:11:52", false);
period_log.addValue("2008-Jun-17 11:12:01", false);
period_log.addValue("2008-Jun-17 11:12:11", false);
period_log.addValue("2008-Jun-17 11:12:21", true);
period_log.addValue("2008-Jun-17 11:12:32", false);
period_log.addValue("2008-Jun-17 11:12:42", false);
period_log.addValue("2008-Jun-17 11:12:52", false);
period_log.addValue("2008-Jun-17 11:13:02", false);
period_log.addValue("2008-Jun-17 11:16:55", false);
period_log.addValue("2008-Jun-17 11:17:00", false);
period_log.addValue("2008-Jun-17 11:17:16", false);
period_log.addValue("2008-Jun-17 11:17:28", false);
period_log.addValue("2008-Jun-17 11:17:37", false);
period_log.addValue("2008-Jun-17 11:17:48", false);
period_log.addValue("2008-Jun-17 11:17:57", false);
period_log.addValue("2008-Jun-17 11:18:07", true);
period_log.addValue("2008-Jun-17 11:18:18", false);
period_log.addValue("2008-Jun-17 11:18:28", false);
period_log.addValue("2008-Jun-17 11:18:38", false);
period_log.addValue("2008-Jun-17 11:18:48", false);
period_log.addValue("2008-Jun-17 11:20:07", false);
period_log.addValue("2008-Jun-17 11:20:11", false);
period_log.addValue("2008-Jun-17 11:20:24", false);
period_log.addValue("2008-Jun-17 11:20:34", false);
period_log.addValue("2008-Jun-17 11:20:46", false);
period_log.addValue("2008-Jun-17 11:20:58", false);
period_log.addValue("2008-Jun-17 11:21:08", false);
period_log.addValue("2008-Jun-17 11:21:19", true);
TS_ASSERT_EQUALS(height_log.size(), 26);
LogFilter filter(&height_log);
filter.addFilter(&period_log); // This throws when it shouldn't
//const TimeSeriesProperty<double> *filteredLog = filter.data();
//TS_ASSERT_EQUALS(filteredLog->size(), 5)
}
private: private:
std::time_t createTime_t_FromString(const std::string &str) std::time_t createTime_t_FromString(const std::string &str)
{ {
......
...@@ -7,26 +7,43 @@ using Mantid::Kernel::TimeSeriesProperty; ...@@ -7,26 +7,43 @@ using Mantid::Kernel::TimeSeriesProperty;
using Mantid::Kernel::Property; using Mantid::Kernel::Property;
using namespace boost::python; using namespace boost::python;
void export_TimeSeriesProperty_Double() namespace
{ {
register_ptr_to_python<TimeSeriesProperty<double>*>(); /// Defines the getStatistics member for various types
register_ptr_to_python<const TimeSeriesProperty<double>*>(); #define DEF_GET_STATS(TYPE) DEF_GET_STATS_##TYPE
implicitly_convertible<TimeSeriesProperty<double>*,const TimeSeriesProperty<double>*>(); /// Doubles have a get stats member
#define DEF_GET_STATS_double .def("getStatistics", &TimeSeriesProperty<double>::getStatistics)
/// booleans do not have a get stats member
#define DEF_GET_STATS_bool
class_<TimeSeriesProperty<double>, bases<Property>, boost::noncopyable>("FloatTimeSeriesProperty", no_init) /// Macro to reduce copy-and-paste
.def("getStatistics", &Mantid::Kernel::TimeSeriesProperty<double>::getStatistics) #define EXPORT_TIMESERIES_PROP(TYPE, Prefix)\
.add_property("value", &Mantid::Kernel::TimeSeriesProperty<double>::valuesAsVector) register_ptr_to_python<TimeSeriesProperty<TYPE>*>();\
.add_property("times", &Mantid::Kernel::TimeSeriesProperty<double>::timesAsVector) register_ptr_to_python<const TimeSeriesProperty<TYPE>*>();\
implicitly_convertible<TimeSeriesProperty<TYPE>*,const TimeSeriesProperty<TYPE>*>();\
\
class_<TimeSeriesProperty<TYPE>, bases<Property>, boost::noncopyable>(#Prefix"TimeSeriesProperty", no_init)\
.add_property("value", &Mantid::Kernel::TimeSeriesProperty<TYPE>::valuesAsVector) \
.add_property("times", &Mantid::Kernel::TimeSeriesProperty<TYPE>::timesAsVector) \
.def("valueAsString", &TimeSeriesProperty<TYPE>::value) \
.def("size", &TimeSeriesProperty<TYPE>::size)\
.def("firstTime", &TimeSeriesProperty<TYPE>::firstTime) \
.def("firstValue", &TimeSeriesProperty<TYPE>::firstValue) \
.def("lastTime", &TimeSeriesProperty<TYPE>::lastTime) \
.def("lastValue", &TimeSeriesProperty<TYPE>::lastValue) \
DEF_GET_STATS(TYPE) \
;
; ;
} }
void export_TimeSeriesProperty_Bool() void export_TimeSeriesProperty_Double()
{ {
register_ptr_to_python<TimeSeriesProperty<bool>*>(); EXPORT_TIMESERIES_PROP(double, Float);
register_ptr_to_python<const TimeSeriesProperty<bool>*>(); }
implicitly_convertible<TimeSeriesProperty<bool>*,const TimeSeriesProperty<bool>*>();
class_<TimeSeriesProperty<bool>, bases<Property>, boost::noncopyable>("BoolTimeSeriesProperty", no_init); void export_TimeSeriesProperty_Bool()
{
EXPORT_TIMESERIES_PROP(bool, Bool);
} }
void export_TimeSeriesPropertyStatistics() void export_TimeSeriesPropertyStatistics()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment