# Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl ODG-Record.t' use Test::More tests => 10; BEGIN { use_ok('ODG::Record') }; { package # HIDE FROM PAUSE MyClass; use Moose; extends 'ODG::Record'; has area_code => ( is => 'ro' , isa => 'Int', index => 0 , traits => [ 'Index' ] , ); has exchange => ( is => 'rw' , isa => 'Int' , index => 1 , traits => [ 'Index' ] , ); has number => ( is => 'rw' , isa => 'Int' , index => 2 , traits => [ 'Index' ] , ); } my $record = MyClass->new( _data => [ 213, 555, 1212 ] ); isa_ok( $record, 'MyClass' ); ok $record->_has_data, '_has_data'; ok $record->area_code == 213, 'ro attribute'; ok $record->exchange == 555, 'rw attribute'; ok $record->number == 1212,'rw attribute'; $record->exchange( 444 ); ok $record->exchange == 444, 'Standard Moose Accessor no type checking'; $record->number = 1234; ok $record->number == 1234, 'Lvalue accessor'; # Data operations ok $record->_has_data, '_has_data'; $record->_data = [ 000, 000, 0000 ]; ok $record->area_code == 000 , 'lvalue data replacement';