diff options
Diffstat (limited to 't')
-rw-r--r-- | t/020-random-word.t | 30 | ||||
-rw-r--r-- | t/021-is-word.t | 25 |
2 files changed, 55 insertions, 0 deletions
diff --git a/t/020-random-word.t b/t/020-random-word.t new file mode 100644 index 0000000..dd18c92 --- /dev/null +++ b/t/020-random-word.t @@ -0,0 +1,30 @@ +#!perl -T +use strict; +use warnings; +use Test::More tests => 3; +use Test::Exception; +use Games::Word qw/set_word_list random_word/; + +my $word_file = ''; +$word_file = '/usr/dict/words' if (-f '/usr/dict/words'); +$word_file = '/usr/share/dict/words' if (-f '/usr/share/dict/words'); + +throws_ok(sub { random_word }, qr/Couldn't open word list/, + "testing calling a function before setting a word list"); + +SKIP: { + skip "Can't find a system word list", 2 if $word_file eq ''; + + set_word_list $word_file; + my $word; + lives_ok(sub { $word = random_word }, + "testing calling random_word with a good word list"); + + open my $fh, '<', $word_file; + my $passed = 0; + for (<$fh>) { + chomp; + $passed = 1 if $word eq $_; + } + ok($passed, "testing that the word is actually in the word list") +} diff --git a/t/021-is-word.t b/t/021-is-word.t new file mode 100644 index 0000000..1f4bebb --- /dev/null +++ b/t/021-is-word.t @@ -0,0 +1,25 @@ +#!perl -T +use strict; +use warnings; +use Test::More tests => 3; +use Test::Exception; +use Games::Word qw/set_word_list random_word is_word/; + +my $word_file = ''; +$word_file = '/usr/dict/words' if (-f '/usr/dict/words'); +$word_file = '/usr/share/dict/words' if (-f '/usr/share/dict/words'); + +throws_ok(sub { is_word }, qr/Couldn't open word list/, + "testing calling a function before setting a word list"); + +SKIP: { + skip "Can't find a system word list", 2 if $word_file eq ''; + + set_word_list $word_file; + + my $result; + lives_ok(sub { $result = is_word random_word }, + "testing calling random_word with a good word list"); + ok($result, + "testing checking to see if a random word from the word list is a word"); +} |