1use warnings; 2use strict; 3 4use Test::More tests => 40; 5 6BEGIN { use_ok('User::Identity') }; 7 8my $ui = 'User::Identity'; 9 10# 11# Empty user 12# 13 14my $a = $ui->new(); 15ok(! defined $a, "No empty users"); 16 17# 18# Test names 19# 20 21my $b = $ui->new('mark'); 22ok(defined $b, "Create b"); 23isa_ok($b, $ui); 24is($b->name, 'mark', "Check b nick"); 25is($b->fullName, 'Mark', "Check b fullname"); 26 27my $c = $ui->new(name => 'mark'); 28ok(defined $c, "Create c"); 29isa_ok($c, $ui); 30is($c->nickname, 'mark', "Check c nick"); 31is($c->fullName, 'Mark', "Check c fullname"); 32ok(!defined $c->gender); 33ok(!$c->isMale); 34ok(!$c->isFemale); 35 36my $d = $ui->new('mark', firstname => 'Mark', surname => 'Overmeer', 37 gender => 'male'); 38ok(defined $d, "Create d"); 39is($d->gender, 'male', "Check d gender"); 40ok($d->isMale); 41ok(!$d->isFemale); 42is($d->nickname, 'mark', "Check d nick"); 43is($d->firstname, 'Mark', "Check d first"); 44is($d->fullName, 'Mark Overmeer', "Check d full"); 45is($d->formalName, 'Mr. M. Overmeer', "Check d formal"); 46is($d->initials, 'M.', "Check d initials"); 47 48my $e = $ui->new('markov' 49 , firstname => 'Mark', surname => 'Overmeer' 50 , titles => 'drs.', initials => 'M.A.C.J.' 51 , language => 'nl-NL', charset => 'iso-8859-15' 52 , gender => 'male', birth => 'April 5, 1966' 53 ); 54 55ok(defined $e, "Create e"); 56is($e->nickname, 'markov', "Check e nick"); 57is($e->firstname, 'Mark', "Check e first"); 58is($e->initials, 'M.A.C.J.', "Check e initials"); 59is($e->charset, 'iso-8859-15', "Check e charset"); 60is($e->fullName, 'Mark Overmeer', "Check e full"); 61is($e->formalName, 'De heer M.A.C.J. Overmeer drs.', "Check e fullname"); 62is($e->dateOfBirth, 'April 5, 1966', "check e birthday"); 63 64eval "require Date::Parse"; 65if($@) {ok(1);ok(1)} 66else 67{ is($e->birth, "19660405", "check e birth"); 68 cmp_ok($e->age, '>=', 36, "check e age"); 69} 70 71my $f = $ui->new('am' 72 , firstname => 'Anne-Marie Christina Theodora Pluk' 73 , prefix => 'van', surname => 'Voorst tot Voorst' 74 , gender => 'vrouw' 75 ); 76 77ok(defined $e, "Create e"); 78is($f->initials, 'A-M.Chr.Th.P.'); 79is($f->gender, 'vrouw', "Check gender"); 80is($f->prefix, 'van', "Check prefix"); 81is($f->surname, 'Voorst tot Voorst', "Check surname"); 82ok($f->isFemale); 83ok(!$f->isMale); 84is($f->formalName, "Madam A-M.Chr.Th.P. van Voorst tot Voorst"); 85