libtest-simpleunit-perl/t/12_testdata.t

88 lines
1.5 KiB
Perl

#!/usr/bin/perl
#
# Test script for Test::SimpleUnit
# $Id: 12_testdata.t,v 1.1 2003/01/15 20:46:44 deveiant Exp $
#
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 10_testdata.t'
#
# Please do not commit any changes you make to the module without a
# successful 'make test'!
#
package main;
use strict;
BEGIN { $| = 1; }
### Load up the test framework
use Test::SimpleUnit qw{:functions};
my (
$filename,
%testData,
);
### Test suite (in the order they're run)
my @testSuite = (
### Setup/Teardown functions
{
name => 'setup',
func => sub {
$filename = "12testdata.$$";
%testData = (
some => 'data',
for => "testing",
complex => [qw{an arrayref }],
hoh => {
more => 'keys',
and => 'vals',
another => {},
},
);
},
},
{
name => 'teardown',
func => sub {
$filename = '';
%testData = ();
},
},
### Save the test data
{
name => 'savedata',
test => sub {
Test::SimpleUnit::Debug( 1 );
assertNoException {
saveTestData( $filename, %testData );
};
assert -f $filename;
},
},
### Load the test data back up and compare it with the original
{
name => 'loaddata',
test => sub {
my $datahash;
Test::SimpleUnit::Debug( 1 );
assertNoException {
$datahash = loadTestData( $filename );
};
assertRef 'HASH', $datahash;
assertEquals \%testData, $datahash;
},
},
);
runTests( @testSuite );