def test_getitem_range(): #input_range = [1,3]#range(1,4,2) data = [0, 1, 2, 3, 4] #range(0,5) time = [5, 6, 7, 8, 9] #range(5,10) ts = SMTimeSeries(time, data) smts = SMTimeSeries([6, 7], [1, 2]) assert ts[1:3] == smts
def test_itertimes(): data = [0, 1, 2, 3, 4] #range(0,5) time = [5, 6, 7, 8, 9] #range(5,10) ts = SMTimeSeries(time, data) l = ts.itertimes() next(l) assert next(l) == 6.0
def test_iteritems(): data = [0, 1, 2, 3, 4] time = [5, 6, 7, 8, 9] ts = SMTimeSeries(time, data) l = ts.iteritems() next(l) assert next(l) == (6.0, 1.0)
def test_eq_correct(): #ts1 = SMTimeSeries([1, 2, 3], [4, 5, 6]) #ts2 = SMTimeSeries([1, 2, 3], [4, 5, 6]) #assert (ts1 == ts2) == True assert (SMTimeSeries([1, 2, 3], [4, 5, 6]) == SMTimeSeries([1, 2, 3], [4, 5, 6])) == True
def test_setitem(): data = [4, 5, 6] time = [1, 2, 3] ts = SMTimeSeries(time, data) index = 0 val = 0 ts[index] = val print(ts) assert ts == SMTimeSeries([1, 2, 3], [0, 5, 6])
def test_construct_with_id_num(): ts = SMTimeSeries([3, 5], [9, 3], 1990) arrayts = StorageManager.get(ts._id) assert ts._id == str(1990) assert np.array_equal(arrayts._value, np.array([9, 3])) assert np.array_equal(arrayts._time, np.array([3, 5])) assert np.array_equal(arrayts._timeseries, np.array([(3, 9), (5, 3)]))
def test_str_greater_than_five(): data = [4, 5, 6, 7, 8, 9] time = [1, 2, 3, 4, 5, 6] ts = SMTimeSeries(time, data) assert str( ts ) == '[(1.0, 4.0), (2.0, 5.0), (3.0, 6.0), (4.0, 7.0), (5.0, 8.0) ... (6.0, 9.0)]'
def genTS(sm,n): """generate n standardized time series, each stored in a file in ts_data/. """ m_a, m_b = -100, 100 s_a, s_b = 0.1, 10 j_a, j_b = 1, 50 if not os.path.exists('ts_data/'): os.makedirs('ts_data/') m = [random.uniform(m_a, m_b) for i in range(n)] s = [random.uniform(s_a, s_b) for i in range(n)] j = [random.randint(j_a, j_b) for i in range(n)] for i in range(n): with open('ts_data/ts_' + str(i) + '.dat', 'wb+') as f: ts = standardize(tsmaker(m[i], s[i], j[i])) pickle.dump(ts, f) for i in range(n): ts = tsmaker(m[i], s[i], j[i]) smts = SMTimeSeries(ts.times(), ts.values(), sm) #if __name__ == '__main__': # genTS()
def test_valid_ts_range_time(): ts = SMTimeSeries(range(2, 7), range(0, 5)) arrayts = StorageManager.get(ts._id) assert np.array_equal(arrayts._value, np.array([0, 1, 2, 3, 4])) assert np.array_equal(arrayts._time, np.array([2, 3, 4, 5, 6])) assert np.array_equal(arrayts._timeseries, np.array([(2, 0), (3, 1), (4, 2), (5, 3), (6, 4)]))
def test_empty_ts(): ts = SMTimeSeries([], []) arrayts = StorageManager.get(ts._id) for t in arrayts._value == np.array([]): assert t for t in arrayts._time == np.array([]): assert t for t in arrayts._timeseries == np.array([]): assert t
def test_setitem_index_error(): data = [4, 5, 6] time = [1, 2, 3] ts = SMTimeSeries(time, data) index = 5 val = 0 with raises(IndexError): ts[index] = val
def test_mean(): ts = SMTimeSeries([1, 2, 3], [3, 4, 5]) assert ts.mean() == 4
def test_bool_zero(): ts = SMTimeSeries([1, 2, 3], [0, 0, 0]) assert bool(ts)
def test_bool_false(): ts = SMTimeSeries([], []) assert not bool(ts)
def test_bool_true(): ts = SMTimeSeries([1, 2, 3], [4, 5, 6]) assert bool(ts)
def test_zero_length(): data = [] time = [] ts = SMTimeSeries(time, data) assert len(ts) == 0
def test_from_db(): data = [1, 2, 3] time = [4, 5, 6] ts = SMTimeSeries(time, data) assert SMTimeSeries.from_db(ts.f_id) == ts
def test_init_zero_length_argument(): data = [] time = [] SMTimeSeries(time, data)
def test_init_argument(): data = [1, 2, 3] with raises(TypeError): SMTimeSeries(data)
def test_std(): ts = SMTimeSeries([1, 2, 3], [3, 4, 5]) assert ts.std() == np.std([3, 4, 5])
def test_init_no_argument(): with raises(TypeError): SMTimeSeries()
def test_mul_correct(): ts1 = SMTimeSeries([1, 2, 3], [4, 5, 6]) ts2 = SMTimeSeries([1, 2, 3], [6, 5, 4]) assert (ts1 * ts2 == SMTimeSeries([1, 2, 3], [24, 25, 24]))
def test_two_arguments(): data = [1, 2, 3] time = [4, 5, 6] SMTimeSeries(time, data)
def test_pos(): ts = SMTimeSeries([1, 2, 3], [4, 5, 6]) assert +ts == SMTimeSeries([1, 2, 3], [4, 5, 6])
def test_init_diff_length_argument(): data = [] time = [1, 2, 3] with raises(Exception): SMTimeSeries(time, data)
def test_neg(): ts = SMTimeSeries([1, 2, 3], [4, 5, 6]) assert -ts == SMTimeSeries([1, 2, 3], [-4, -5, -6])
def test_length(): data = [1, 2, 3] time = [4, 5, 6] ts = SMTimeSeries(time, data) assert len(ts) == 3
def test_id_not_provided(): data = [1, 2, 3] time = [4, 5, 6] SMTimeSeries(time, data)
def _insert_ts(self, op): ts = SMTimeSeries(op['ts'].times(), op['ts'].values(), self.smdb) result = TSDBOp_InsertTS('insert_ts') result['ts'] = ts result['id'] = ts.f_id return result
def test_abs(): ts = SMTimeSeries([1, 2, 3], [4, 5, 6]) assert abs(ts) == math.sqrt(77)