import unittest import decimal from dbt.adapters.base import Column class TestStringType(unittest.TestCase): def test__character_type(self): col = Column( 'fieldname', 'character', char_size=10 ) self.assertEqual(col.data_type, 'character varying(10)') class TestNumericType(unittest.TestCase): def test__numeric_type(self): col = Column( 'fieldname', 'numeric', numeric_precision=decimal.Decimal('12'), numeric_scale=decimal.Decimal('2')) self.assertEqual(col.data_type, 'numeric(12,2)') def test__numeric_type_with_no_precision(self): # PostgreSQL, at least, will allow empty numeric precision col = Column( 'fieldname', 'numeric', numeric_precision=None) self.assertEqual(col.data_type, 'numeric')