88 lines
1.5 KiB
Perl
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 );
|
||
|
|