#!/usr/bin/env perl use strict; use warnings; use diagnostics; use Readonly; use Test::MockDBI; use Test::Simple tests => 10; use DbLibTry; # Testing DbLibTry Perl module Readonly my %RET_VALS => ( 1 => { name => 'fgv3df1fv5f3', time => '32:20', album => 5120, order => 2, }, 2 => { name => 'fdgetre14w6e46we4', time => '2:00', album => 89, order => 5, }, ); my $dblibtry = DbLibTry->new; my $mock_dbi = Test::MockDBI::get_instance; my %song; $mock_dbi->set_retval( method => 'get_all_songs', retval => \%RET_VALS ); ok(defined $dblibtry, "Defined $dblibtry"); ok($dblibtry->isa('DbLibTry'), 'ISA'); ok($dblibtry->can('connect'), 'Method ->connect() exists'); ok($dblibtry->can('disconnect'), 'Method ->disconnect() exists'); ok($dblibtry->can('get_all_songs'), 'Method ->get_all_songs() exists'); ok($dblibtry->connect == 1, 'Connected'); ok(%song = %{$dblibtry->get_all_songs}); ok($dblibtry->disconnect == 1, 'Disconnected'); ok($song{2}->{order} == 2); ok($song{1}->{time} eq '2:00');