Use Optional::Dependencies for CDBICompat and its tests
[dbsrgits/DBIx-Class.git] / t / cdbi / 71_column_object.t
1 use strict;
2 use warnings;
3
4 # Columns in CDBI could be defined as Class::DBI::Column objects rather than
5 # or as well as with __PACKAGE__->columns();
6
7 use Test::More;
8
9 BEGIN {
10   eval { require Class::DBI::Column }
11     or plan skip_all => 'Class::DBI::Column required for this test';
12 }
13
14 use lib 't/cdbi/testlib';
15 use ColumnObject;
16
17 ok(ColumnObject->can('db_Main'), 'set_db()');
18 is(ColumnObject->__driver, 'SQLite', 'Driver set correctly');
19
20 ColumnObject->create({
21   columna => 'Test Data',
22   columnb => 'Test Data 2',
23 });
24
25 my $column_object = ColumnObject->retrieve(columna => 'Test Data');
26 $column_object->columnb_as_write('Test Data Written');
27 $column_object->update;
28 $column_object = ColumnObject->retrieve(columna => 'Test Data');
29
30 is($column_object->columna_as_read => 'Test Data', 'Read column via accessor');
31 is($column_object->columna         => 'Test Data', 'Real column returns right data');
32 is($column_object->columnb         => 'Test Data Written', 'ColumnB wrote via mutator');
33
34 done_testing;