my
$leader_string
=
' nam a22 4500'
;
my
$leader
= MARC::Leader->new->parse(
$leader_string
);
my
$ret
= material_type(
$leader
);
is(
$ret
,
'book'
,
'Get material type (book).'
);
$leader_string
=
' nkm a22 a 4500'
;
$leader
= MARC::Leader->new->parse(
$leader_string
);
$ret
= material_type(
$leader
);
is(
$ret
,
'visual_material'
,
'Get material type (visual_material).'
);
$leader_string
=
' ncm a22 i 4500'
;
$leader
= MARC::Leader->new->parse(
$leader_string
);
$ret
= material_type(
$leader
);
is(
$ret
,
'music'
,
'Get material type (music).'
);
$leader_string
=
' nmm a22 a 4500'
;
$leader
= MARC::Leader->new->parse(
$leader_string
);
$ret
= material_type(
$leader
);
is(
$ret
,
'computer_file'
,
'Get material type (computer_file).'
);
$leader_string
=
' nas a22 4500'
;
$leader
= MARC::Leader->new->parse(
$leader_string
);
$ret
= material_type(
$leader
);
is(
$ret
,
'continuing_resource'
,
'Get material type (continuing_resource).'
);
$leader_string
=
' nem a22 2 4500'
;
$leader
= MARC::Leader->new->parse(
$leader_string
);
$ret
= material_type(
$leader
);
is(
$ret
,
'map'
,
'Get material type (map).'
);
eval
{
material_type();
};
is(
$EVAL_ERROR
,
"Leader object must be a Data::MARC::Leader instance.\n"
,
"Leader object must be a Data::MARC::Leader instance (undef)."
);
clean();
eval
{
material_type(
'bad'
);
};
is(
$EVAL_ERROR
,
"Leader object must be a Data::MARC::Leader instance.\n"
,
"Leader object must be a Data::MARC::Leader instance (string)."
);
clean();
my
$mock
= Test::MockObject->new;
eval
{
material_type(
$mock
);
};
is(
$EVAL_ERROR
,
"Leader object must be a Data::MARC::Leader instance.\n"
,
"Leader object must be a Data::MARC::Leader instance (bad object)."
);
clean();