From ddcf4c23fdacd7dfeba8c46d990524409f8de36e Mon Sep 17 00:00:00 2001 From: jluehrs2 Date: Sat, 2 Feb 2008 15:29:06 -0500 Subject: update tests to test specific length words --- t/020-random-word.t | 10 +++++++++- t/022-random-word-nocache.t | 12 +++++++++--- 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"); } -- cgit v1.2.3-54-g00ecf