r11683@rob-kinyons-powerbook58: rob | 2006-04-28 20:54:09 -0400
[dbsrgits/DBM-Deep.git] / t / 17_import.t
CommitLineData
ffed8b01 1##
2# DBM::Deep Test
3##
4use strict;
5use Test::More tests => 2;
a3e62809 6use Test::Deep;
fde3db1a 7use t::common qw( new_fh );
ffed8b01 8
9use_ok( 'DBM::Deep' );
10
fde3db1a 11my ($fh, $filename) = new_fh();
a3e62809 12my $db = DBM::Deep->new({
13 file => $filename,
14 autobless => 1,
15});
ffed8b01 16
17##
18# Create structure in memory
19##
20my $struct = {
21 key1 => "value1",
22 key2 => "value2",
23 array1 => [ "elem0", "elem1", "elem2" ],
24 hash1 => {
25 subkey1 => "subvalue1",
a3e62809 26 subkey2 => "subvalue2",
27 subkey3 => bless( {}, 'Foo' ),
ffed8b01 28 }
29};
30
31##
32# Import entire thing
33##
34$db->import( $struct );
ffed8b01 35
a3e62809 36cmp_deeply(
37 $db,
38 noclass({
39 key1 => 'value1',
40 key2 => 'value2',
41 array1 => [ 'elem0', 'elem1', 'elem2', ],
42 hash1 => {
43 subkey1 => "subvalue1",
44 subkey2 => "subvalue2",
17ca2cc9 45 subkey3 => useclass( bless {}, 'Foo' ),
a3e62809 46 },
47 }),
48 "Everything matches",
ffed8b01 49);