From c7d6a6698132f9cab275ebae35979431e3556521 Mon Sep 17 00:00:00 2001 From: jluehrs2 Date: Fri, 1 Feb 2008 01:32:52 -0500 Subject: add and fix some tests --- t/001-basic.t | 15 ++++----------- t/002-system-wordlist.t | 21 +++++++++++++++++++++ t/003-array-wordlist.t | 16 ++++++++++++++++ 3 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 t/002-system-wordlist.t create mode 100644 t/003-array-wordlist.t diff --git a/t/001-basic.t b/t/001-basic.t index cf5c216..e325ff3 100644 --- a/t/001-basic.t +++ b/t/001-basic.t @@ -5,14 +5,7 @@ use Test::More tests => 2; use Test::Exception; use Games::Word::Wordlist; -my $word_file = ''; -$word_file = '/usr/dict/words' if -r '/usr/dict/words'; -$word_file = '/usr/share/dict/words' if -r '/usr/share/dict/words'; - -SKIP: { - skip "Can't find a system wordlist", 2 unless $word_file; - my $wl; - lives_ok { $wl = Games::Word::Wordlist->new($word_file) } - "creating a wordlist succeeds"; - isa_ok $wl, "Games::Word::Wordlist"; -} +my $wl; +lives_ok { $wl = Games::Word::Wordlist->new([]) } + "creating a wordlist succeeds"; +isa_ok $wl, "Games::Word::Wordlist"; diff --git a/t/002-system-wordlist.t b/t/002-system-wordlist.t new file mode 100644 index 0000000..ee83e46 --- /dev/null +++ b/t/002-system-wordlist.t @@ -0,0 +1,21 @@ +#!perl -T +use strict; +use warnings; +use Test::More tests => 2; +use Test::Exception; +use Games::Word::Wordlist; + +my $word_file = ''; +$word_file = '/usr/dict/words' if -r '/usr/dict/words'; +$word_file = '/usr/share/dict/words' if -r '/usr/share/dict/words'; + +SKIP: { + skip "Can't find a system word list", 2 if $word_file eq ''; + + my $wl; + lives_ok { $wl = Games::Word::Wordlist->new($word_file) } + "opening a word list from a file doesn't die"; + open my $fh, '<', $word_file or die "Couldn't open $word_file"; + for (<$fh>) {} + is($wl->words, $., "we read in the correct number of words"); +} diff --git a/t/003-array-wordlist.t b/t/003-array-wordlist.t new file mode 100644 index 0000000..148f761 --- /dev/null +++ b/t/003-array-wordlist.t @@ -0,0 +1,16 @@ +#!perl -T +use strict; +use warnings; +use Test::More tests => 4; +use Test::Exception; +use Games::Word::Wordlist; + +my @words = qw/foo bar baz/; +my $wl; +lives_ok { $wl = Games::Word::Wordlist->new(\@words) } + "creating a wordlist from an array succeeds"; +is($wl->words, 3, "created the correct number of words in the word list"); +$wl->add_words(['zab', 'rab', 'oof', 'foo']); +is($wl->words, 6, "adding words results in the correct number of words"); +$wl->remove_words(qw/rab foo quux/); +is($wl->words, 4, "deleting words results in the correct number of words"); -- cgit v1.2.3-54-g00ecf