#!/usr/bin/perl -w
use strict;
use Test::More qw(no_plan);
use Test::NoWarnings;
use Test::Exception;
use Scalar::Util qw(blessed);
use lib qw( ../lib ./lib );
use Data::Dumper;
eval { chdir('t') };
use Nagios::Config;
my $lax = Nagios::Object::Config->new();
lives_ok(
sub { $lax->parse('60flexible-attributes1.cfg') },
"parse() does not throw exceptions by default"
);
my @contacts = $lax->list_contacts;
lives_ok(
sub { $contacts[0]->random_one },
"Verify that get method was instantiated"
);
lives_ok(
sub { $contacts[0]->set_random_one('foobar') },
"Verify that set method was instantiated"
);
# enable strict mode
Nagios::Object::Config->strict_mode(1);
my $strict = Nagios::Object::Config->new();
dies_ok(
sub { $strict->parse('60flexible-attributes2.cfg') },
"parse() throws exceptions with strict_mode"
);
dies_ok( sub { $contacts[0]->random_four },
"verify that no methods were instantiated under strict_mode" );