10 my $schema = DBICTest->init_schema();
11 my $rs = $schema->resultset('Artist');
15 my ($crap, $girl, $damn, $xxxaaa) = $rs->populate( [
16 { artistid => 4, name => 'Manufactured Crap', cds => [
17 { title => 'My First CD', year => 2006 },
18 { title => 'Yet More Tweeny-Pop crap', year => 2007 },
21 { artistid => 5, name => 'Angsty-Whiny Girl', cds => [
22 { title => 'My parents sold me to a record company' ,year => 2005 },
23 { title => 'Why Am I So Ugly?', year => 2006 },
24 { title => 'I Got Surgery and am now Popular', year => 2007 }
28 { artistid=>6, name => 'Like I Give a Damn' },
30 { artistid => 7, name => 'bbbb', cds => [
31 { title => 'xxxaaa' ,year => 2005 },
37 isa_ok( $crap, 'DBICTest::Artist', "Got 'Artist'");
38 isa_ok( $damn, 'DBICTest::Artist', "Got 'Artist'");
39 isa_ok( $girl, 'DBICTest::Artist', "Got 'Artist'");
40 isa_ok( $xxxaaa, 'DBICTest::Artist', "Got 'Artist'");
42 ok( $crap->name eq 'Manufactured Crap', "Got Correct name for result object");
43 ok( $girl->name eq 'Angsty-Whiny Girl', "Got Correct name for result object");
44 ok( $xxxaaa->name eq 'bbbb', "Got Correct name for result object");
46 ok( $crap->cds->count == 2, "got Expected Number of Cds");
47 ok( $girl->cds->count == 3, "got Expected Number of Cds");
53 { artistid => 8, name => 'Manufactured CrapB', cds => [
54 { title => 'My First CDB', year => 2006 },
55 { title => 'Yet More Tweeny-Pop crapB', year => 2007 },
58 { artistid => 9, name => 'Angsty-Whiny GirlB', cds => [
59 { title => 'My parents sold me to a record companyB' ,year => 2005 },
60 { title => 'Why Am I So Ugly?B', year => 2006 },
61 { title => 'I Got Surgery and am now PopularB', year => 2007 }
65 { artistid =>10, name => 'XXXX' },
66 { artistid =>11, name => 'wart', cds =>{ title => 'xxxaaa' ,year => 2005 }, },
69 my $artist = $rs->find(8);
71 ok($artist, 'Found artist');
72 is($artist->name, 'Manufactured CrapB', "Got Correct Name");
73 is($artist->cds->count, 2, 'Has CDs');
75 my @cds = $artist->cds;
77 is($cds[0]->title, 'My First CDB', 'A CD');
78 is($cds[0]->year, 2006, 'Published in 2006');
80 is($cds[1]->title, 'Yet More Tweeny-Pop crapB', 'Another crap CD');
81 is($cds[1]->year, 2007, 'Published in 2007');
83 $artist = $rs->find(9);
84 ok($artist, 'Found artist');
85 is($artist->name, 'Angsty-Whiny GirlB', "Another correct name");
86 is($artist->cds->count, 3, 'Has CDs');
91 is($cds[0]->title, 'My parents sold me to a record companyB', 'A CD');
92 is($cds[0]->year, 2005, 'Published in 2005');
94 is($cds[1]->title, 'Why Am I So Ugly?B', 'A Coaster');
95 is($cds[1]->year, 2006, 'Published in 2006');
97 is($cds[2]->title, 'I Got Surgery and am now PopularB', 'Selling un-attainable dreams');
98 is($cds[2]->year, 2007, 'Published in 2007');
100 $artist = $rs->search({name => 'XXXX'})->single;
101 ok($artist, "Got Expected Artist Result");
103 is($artist->cds->count, 0, 'No CDs');
105 $artist = $rs->find(10);
106 is($artist->name, 'XXXX', "Got Correct Name");
107 is($artist->cds->count, 0, 'Has NO CDs');
109 $artist = $rs->find(11);
110 is($artist->name, 'wart', "Got Correct Name");
111 is($artist->cds->count, 1, 'Has One CD');
114 RETURN_RESULTSETS_AUTOPK: {
116 my ($crap, $girl, $damn, $xxxaaa) = $rs->populate( [
117 { name => 'Manufactured CrapC', cds => [
118 { title => 'My First CD', year => 2006 },
119 { title => 'Yet More Tweeny-Pop crap', year => 2007 },
122 { name => 'Angsty-Whiny GirlC', cds => [
123 { title => 'My parents sold me to a record company' ,year => 2005 },
124 { title => 'Why Am I So Ugly?', year => 2006 },
125 { title => 'I Got Surgery and am now Popular', year => 2007 }
129 { name => 'Like I Give a DamnC' },
131 { name => 'bbbbC', cds => [
132 { title => 'xxxaaa' ,year => 2005 },
138 isa_ok( $crap, 'DBICTest::Artist', "Got 'Artist'");
139 isa_ok( $damn, 'DBICTest::Artist', "Got 'Artist'");
140 isa_ok( $girl, 'DBICTest::Artist', "Got 'Artist'");
141 isa_ok( $xxxaaa, 'DBICTest::Artist', "Got 'Artist'");
143 ok( $crap->name eq 'Manufactured CrapC', "Got Correct name for result object");
144 ok( $girl->name eq 'Angsty-Whiny GirlC', "Got Correct name for result object");
145 ok( $xxxaaa->name eq 'bbbbC', "Got Correct name for result object");
147 ok( $crap->cds->count == 2, "got Expected Number of Cds");
148 ok( $girl->cds->count == 3, "got Expected Number of Cds");