summaryrefslogtreecommitdiffstats
path: root/t/020-random-word.t
blob: de4b47f1378bcaae11457e534d95835487d8959c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!perl -T
use strict;
use warnings;
use Test::More tests => 3;
use Test::Exception;
use Games::Word::Wordlist;

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");
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");