def test_column_type_datetime_from_thrift(self): self.assertEqual( types.ColumnType.from_thrift( ttypes.ColumnType(datetime_type=ttypes.ColumnTypeDatetime()) ), types.ColumnType.Datetime(), )
def test_column_from_thrift(self): self.assertEqual( types.Column.from_thrift( ttypes.Column("A", ttypes.ColumnType(text_type=ttypes.ColumnTypeText())) ), types.Column("A", types.ColumnType.Text()), )
def test_column_type_number_from_thrift(self): self.assertEqual( types.ColumnType.from_thrift( ttypes.ColumnType(number_type=ttypes.ColumnTypeNumber("{:,.1%}")) ), types.ColumnType.Number("{:,.1%}"), )
def test_column_type_timestamp_from_thrift(self): self.assertEqual( types.thrift_column_type_to_arrow( ttypes.ColumnType(timestamp_type=ttypes.ColumnTypeTimestamp()) ), types.ColumnType.Timestamp(), )
def test_column_type_text_from_thrift(self): self.assertEqual( types.thrift_column_type_to_arrow( ttypes.ColumnType(text_type=ttypes.ColumnTypeText()) ), types.ColumnType.Text(), )
def test_params_to_thrift(self): self.assertEqual( types.Params({ "str": "s", "int": 2, "float": 1.2, "null": None, "bool": False, "column": types.Column("A", types.ColumnType.Number(format="{:,.2f}")), "listofmaps": [{ "A": "a", "B": "b" }, { "C": "c", "D": "d" }], "tab": "TODO tabs", }).to_thrift(), { "str": ttypes.ParamValue(string_value="s"), "int": ttypes.ParamValue(integer_value=2), "float": ttypes.ParamValue(float_value=1.2), "null": ttypes.ParamValue(), "bool": ttypes.ParamValue(boolean_value=False), "column": ttypes.ParamValue(column_value=ttypes.Column( "A", ttypes.ColumnType(number_type=ttypes.ColumnTypeNumber( format="{:,.2f}")), )), "listofmaps": ttypes.ParamValue(list_value=[ ttypes.ParamValue( map_value={ "A": ttypes.ParamValue(string_value="a"), "B": ttypes.ParamValue(string_value="b"), }), ttypes.ParamValue( map_value={ "C": ttypes.ParamValue(string_value="c"), "D": ttypes.ParamValue(string_value="d"), }), ]), "tab": ttypes.ParamValue(string_value="TODO tabs"), }, )
def test_table_metadata_to_thrift(self): self.assertEqual( types.TableMetadata( 4, [ types.Column("A", types.ColumnType.Text()), types.Column("B", types.ColumnType.Text()), ], ).to_thrift(), ttypes.TableMetadata( 4, [ ttypes.Column( "A", ttypes.ColumnType(text_type=ttypes.ColumnTypeText()) ), ttypes.Column( "B", ttypes.ColumnType(text_type=ttypes.ColumnTypeText()) ), ], ), )
def test_column_type_number_from_thrift_invalid_format(self): thrift_value = ttypes.ColumnType(number_type=ttypes.ColumnTypeNumber("{:T}")) with self.assertRaisesRegex(ValueError, "Unknown format code 'T'"): types.ColumnType.from_thrift(thrift_value)
def test_column_type_text_to_thrift(self): self.assertEqual( types.ColumnType.Text().to_thrift(), ttypes.ColumnType(text_type=ttypes.ColumnTypeText()), )
def test_column_type_datetime_to_thrift(self): self.assertEqual( types.arrow_column_type_to_thrift(types.ColumnType.Datetime()), ttypes.ColumnType(datetime_type=ttypes.ColumnTypeDatetime()), )
def test_column_type_number_to_thrift(self): self.assertEqual( types.arrow_column_type_to_thrift( types.ColumnType.Number("{:,.1%}")), ttypes.ColumnType(number_type=ttypes.ColumnTypeNumber("{:,.1%}")), )
def test_column_type_timestamp_to_thrift(self): self.assertEqual( types.arrow_column_type_to_thrift(types.ColumnType.Timestamp()), ttypes.ColumnType(timestamp_type=ttypes.ColumnTypeTimestamp()), )