summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjluehrs2 <jluehrs2@uiuc.edu>2008-02-01 01:32:52 -0500
committerjluehrs2 <jluehrs2@uiuc.edu>2008-02-01 01:32:52 -0500
commitc7d6a6698132f9cab275ebae35979431e3556521 (patch)
treeb9002b49c7a0fb3796553a2c8f11ca60e7c99eb5
parent752338be7644da462041deea124252c006c68248 (diff)
downloadgames-word-c7d6a6698132f9cab275ebae35979431e3556521.tar.gz
games-word-c7d6a6698132f9cab275ebae35979431e3556521.zip
add and fix some tests
-rw-r--r--t/001-basic.t15
-rw-r--r--t/002-system-wordlist.t21
-rw-r--r--t/003-array-wordlist.t16
3 files changed, 41 insertions, 11 deletions
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");