'Tests that columns instantiated with a column class work properly
and that the class is instantiated in the constructor
@since 3.1
@jira_ticket PYTHON-478
@expected_result types are instantiated correctly
@test_category object_mapper'

def test_instantiation_with_column_class(self):

    list_list = columns.List(columns.List(columns.Integer), required=False)
    map_list = columns.Map(columns.Text, columns.List(columns.Text), required=False)
    set_tuple = columns.Set(columns.Tuple(columns.Integer, columns.Integer), required=False)
    self.assertIsInstance(list_list, columns.List)
    self.assertIsInstance(list_list.types[0], columns.List)
    self.assertIsInstance(map_list.types[0], columns.Text)
    self.assertIsInstance(map_list.types[1], columns.List)
    self.assertIsInstance(set_tuple.types[0], columns.Tuple)
