The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl


BEGIN {

	package Schema;

	use FindBin qw/$Bin/;
	use lib "$Bin/../lib";

	use parent 'ActiveRecord::Simple';

	eval { require DBD::SQLite } or exit 0;

	__PACKAGE__->connect("dbi:SQLite:dbname=:memory:","","");


	my $_INIT_SQL_CUSTOMER = q{
	
		CREATE TABLE `customer` (
  			`id` int AUTO_INCREMENT,
  			`first_name` varchar(200) NULL,
  			`second_name` varchar(200) NOT NULL,
  			`age` tinyint(2) NULL,
  			`email` varchar(200) NOT NULL,
  			PRIMARY KEY (`id`)
		);

	};

	__PACKAGE__->dbh->do($_INIT_SQL_CUSTOMER);
}

package Customer;
#
our @ISA = qw/Schema/;
#
__PACKAGE__->auto_load();
#
#
package main;

use Test::More;


ok my $customer = Customer->new();
eval { $customer->first_name };
ok ! $@, 'loaded accessor `first_name`';
eval { $customer->id };
ok ! $@, 'loaded accessor `id`';
eval { $customer->foo };
ok $@, 'error load undefined accessor';

is(Customer->_get_table_name, 'customer', 'loaded table name');
is(Customer->_get_primary_key, 'id', 'loaded primary key');


done_testing();