示例#1
0
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
示例#2
0
    def test_unfiltered_returns_source_property(self):
        filtered = FloatFilteredTimeSeriesProperty(self._source, self._filter,
                                                   False)
        unfiltered = filtered.unfiltered()

        self.assertEquals(self._source.size(), unfiltered.size())
示例#3
0
 def test_constructor_filters_source_series(self):
     filtered = FloatFilteredTimeSeriesProperty(self._source, self._filter,
                                                False)
     self.assertEquals(filtered.size(), 2)