summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjluehrs2 <jluehrs2@uiuc.edu>2008-02-02 15:29:06 -0500
committerjluehrs2 <jluehrs2@uiuc.edu>2008-02-02 15:29:06 -0500
commitddcf4c23fdacd7dfeba8c46d990524409f8de36e (patch)
treec9dedb2b8624df2b8df9d92fd8b0af6029ae9e75
parent11804cb65d772bd4bc833807b67752647acf190f (diff)
downloadgames-word-ddcf4c23fdacd7dfeba8c46d990524409f8de36e.tar.gz
games-word-ddcf4c23fdacd7dfeba8c46d990524409f8de36e.zip
update tests to test specific length words
-rw-r--r--t/020-random-word.t10
-rw-r--r--t/022-random-word-nocache.t12
2 files changed, 18 insertions, 4 deletions
diff --git a/t/020-random-word.t b/t/020-random-word.t
index 98a17df..de4b47f 100644
--- a/t/020-random-word.t
+++ b/t/020-random-word.t
@@ -5,7 +5,7 @@ use Test::More tests => 3;
use Test::Exception;
use Games::Word::Wordlist;
-my $wl = Games::Word::Wordlist->new(['foo', 'bar', 'baz']);
+my $wl = Games::Word::Wordlist->new(['foo', 'bar', 'baz', 'quux']);
my $word;
lives_ok(sub { $word = $wl->random_word },
"testing calling random_word with a good word list");
@@ -13,3 +13,11 @@ ok(defined($word), "random_word actually returned a word");
like($word, qr/^(foo|bar|baz)$/,
"testing that the word is actually in the word list")
+lives_ok(sub { $word = $wl->random_word(4) },
+ "random_word doesn't die when given a length");
+is($word, 'quux', "testing random_word with a given length");
+$word = $wl->random_word(3)
+like($word, qr/^(foo|bar|baz)$/,
+ "testing that the word was correct");
+throws_ok(sub { $wl->random_word(5) }, qr/No words of length 5 in word list/,
+ "random_word dies if no words are found");
diff --git a/t/022-random-word-nocache.t b/t/022-random-word-nocache.t
index 9f9551a..3054955 100644
--- a/t/022-random-word-nocache.t
+++ b/t/022-random-word-nocache.t
@@ -1,7 +1,7 @@
#!perl -T
use strict;
use warnings;
-use Test::More tests => 3;
+use Test::More tests => 6;
use Test::Exception;
use Games::Word::Wordlist;
@@ -10,7 +10,7 @@ $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 '';
+ skip "Can't find a system word list", 6 if $word_file eq '';
my $wl = Games::Word::Wordlist->new($word_file, cache => 0);
my $word;
@@ -24,5 +24,11 @@ SKIP: {
chomp;
$passed = 1 if $word eq $_;
}
- ok($passed, "testing that the word is actually in the word list")
+ ok($passed, "testing that the word is actually in the word list");
+ lives_ok(sub { $word = $wl->random_word(4) },
+ "random_word doesn't die when given a length");
+ is(length $word, 4, "testing random_word with a given length");
+ throws_ok(sub { $wl->random_word(35) },
+ qr/No words of length 35 in word list/,
+ "random_word dies if no words are found");
}