def test_numpy_tablet_serialization(): measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"] data_types_ = [ TSDataType.BOOLEAN, TSDataType.INT32, TSDataType.INT64, TSDataType.FLOAT, TSDataType.DOUBLE, TSDataType.TEXT, ] values_ = [ [False, 10, 11, 1.1, 10011.1, "test01"], [True, 100, 11111, 1.25, 101.0, "test02"], [False, 100, 1, 188.1, 688.25, "test03"], [True, 0, 0, 0, 6.25, "test04"], ] timestamps_ = [16, 17, 18, 19] tablet_ = Tablet("root.sg_test_01.d_01", measurements_, data_types_, values_, timestamps_) np_values_ = [ np.array([False, True, False, True], np.dtype(">?")), np.array([10, 100, 100, 0], np.dtype(">i4")), np.array([11, 11111, 1, 0], np.dtype(">i8")), np.array([1.1, 1.25, 188.1, 0], np.dtype(">f4")), np.array([10011.1, 101.0, 688.25, 6.25], np.dtype(">f8")), np.array(["test01", "test02", "test03", "test04"]), ] np_timestamps_ = np.array([16, 17, 18, 19], np.dtype(">i8")) np_tablet_ = NumpyTablet("root.sg_test_01.d_01", measurements_, data_types_, np_values_, np_timestamps_) assert tablet_.get_binary_timestamps() == np_tablet_.get_binary_timestamps( ) assert tablet_.get_binary_values() == np_tablet_.get_binary_values()
def test_numpy_tablet_auto_correct_datatype(): measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"] data_types_ = [ TSDataType.BOOLEAN, TSDataType.INT32, TSDataType.INT64, TSDataType.FLOAT, TSDataType.DOUBLE, TSDataType.TEXT, ] values_ = [ [True, 10000, 11111, 8.999, 776, "test05"], [True, 1000, 1111, 0, 6.25, "test06"], [False, 100, 111, 188.1, 688.25, "test07"], [False, 10, 11, 1.25, 101.0, "test08"], [False, 0, 1, 1.1, 10011.1, "test09"], ] timestamps_ = [5, 6, 7, 8, 9] tablet_ = Tablet("root.sg_test_01.d_01", measurements_, data_types_, values_, timestamps_) np_values_unsorted = [ np.array([False, False, False, True, True]), np.array([0, 10, 100, 1000, 10000]), np.array([1, 11, 111, 1111, 11111]), np.array([1.1, 1.25, 188.1, 0, 8.999]), np.array([10011.1, 101.0, 688.25, 6.25, 776]), np.array(["test09", "test08", "test07", "test06", "test05"]), ] np_timestamps_unsorted = np.array([9, 8, 7, 6, 5]) # numpy.dtype of int and float should be little endian by default assert np_timestamps_unsorted.dtype != np.dtype(">i8") for i in range(1, 4): assert np_values_unsorted[i].dtype != data_types_[i].np_dtype() np_tablet_ = NumpyTablet( "root.sg_test_01.d_01", measurements_, data_types_, np_values_unsorted, np_timestamps_unsorted, ) assert tablet_.get_binary_timestamps() == np_tablet_.get_binary_timestamps( ) assert tablet_.get_binary_values() == np_tablet_.get_binary_values()
def test_sort_numpy_tablet(): measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"] data_types_ = [ TSDataType.BOOLEAN, TSDataType.INT32, TSDataType.INT64, TSDataType.FLOAT, TSDataType.DOUBLE, TSDataType.TEXT, ] values_ = [ [True, 10000, 11111, 8.999, 776, "test05"], [True, 1000, 1111, 0, 6.25, "test06"], [False, 100, 111, 188.1, 688.25, "test07"], [False, 10, 11, 1.25, 101.0, "test08"], [False, 0, 1, 1.1, 10011.1, "test09"], ] timestamps_ = [5, 6, 7, 8, 9] tablet_ = Tablet("root.sg_test_01.d_01", measurements_, data_types_, values_, timestamps_) np_values_unsorted = [ np.array([False, False, False, True, True], np.dtype(">?")), np.array([0, 10, 100, 1000, 10000], np.dtype(">i4")), np.array([1, 11, 111, 1111, 11111], np.dtype(">i8")), np.array([1.1, 1.25, 188.1, 0, 8.999], np.dtype(">f4")), np.array([10011.1, 101.0, 688.25, 6.25, 776], np.dtype(">f8")), np.array(["test09", "test08", "test07", "test06", "test05"]), ] np_timestamps_unsorted = np.array([9, 8, 7, 6, 5], np.dtype(">i8")) np_tablet_ = NumpyTablet( "root.sg_test_01.d_01", measurements_, data_types_, np_values_unsorted, np_timestamps_unsorted, ) assert tablet_.get_binary_timestamps() == np_tablet_.get_binary_timestamps( ) assert tablet_.get_binary_values() == np_tablet_.get_binary_values()