def calculate_sub_run_time_average(log_property, time_filter) -> float: '''Determine the time average value of the supplied log''' if log_property.size() == 1: # single value property just copy time_average_value = log_property.value elif time_filter is None: # no filtering means use all values time_average_value = log_property.timeAverageValue() else: # filter and get time average value if isinstance(log_property, FloatTimeSeriesProperty): filtered_tsp = FloatFilteredTimeSeriesProperty( log_property, time_filter) elif isinstance(log_property, Int32TimeSeriesProperty): filtered_tsp = Int32FilteredTimeSeriesProperty( log_property, time_filter) elif isinstance(log_property, Int64TimeSeriesProperty): filtered_tsp = Int64FilteredTimeSeriesProperty( log_property, time_filter) else: raise NotImplementedError( 'TSP log property {} of type {} is not supported' ''.format(log_property.name, type(log_property))) time_average_value = filtered_tsp.timeAverageValue() del filtered_tsp return time_average_value
def test_unfiltered_returns_source_property(self): filtered = FloatFilteredTimeSeriesProperty(self._source, self._filter, False) unfiltered = filtered.unfiltered() self.assertEquals(self._source.size(), unfiltered.size())
def test_constructor_filters_source_series(self): filtered = FloatFilteredTimeSeriesProperty(self._source, self._filter, False) self.assertEquals(filtered.size(), 2)