remove needless use of moose attributes when testing
[gitmo/MooseX-Types-Common.git] / t / 01-string.t
1 use strict;
2 use warnings FATAL => 'all';
3 use Test::More tests => 33;
4
5 use MooseX::Types::Common::String qw(
6     SimpleStr
7     NonEmptySimpleStr
8     LowerCaseSimpleStr
9     UpperCaseSimpleStr
10     Password
11     StrongPassword
12     NonEmptyStr
13     LowerCaseStr
14     UpperCaseStr
15     NumericCode
16 );
17
18 # TODO: need to check both the inlined and non-inlined versions!
19
20 ok(is_SimpleStr(''), 'SimpleStr');
21 ok(is_SimpleStr('a string'), 'SimpleStr 2');
22 ok(!is_SimpleStr("another\nstring"), 'SimpleStr 3');
23 ok(!is_SimpleStr(join('', ("long string" x 25))), 'SimpleStr 4');
24
25 ok(!is_NonEmptyStr(''), 'NonEmptyStr');
26 ok(is_NonEmptyStr('a string'), 'NonEmptyStr 2');
27 ok(is_NonEmptyStr("another string"), 'NonEmptyStr 3');
28 ok(is_NonEmptyStr(join('', ("long string" x 25))), 'NonEmptyStr 4');
29
30 ok(is_NonEmptySimpleStr('good str'), 'NonEmptySimplrStr');
31 ok(!is_NonEmptySimpleStr(''), 'NonEmptyStr 2');
32
33 ok(!is_Password('no'), 'Password');
34 ok(is_Password('okay'), 'Password 2');
35
36 ok(!is_StrongPassword('notokay'), 'StrongPassword');
37 ok(is_StrongPassword('83773r_ch01c3'), 'StrongPassword 2');
38
39 ok(!is_LowerCaseSimpleStr('NOTOK'), 'LowerCaseSimpleStr');
40 ok(is_LowerCaseSimpleStr('ok'), 'LowerCaseSimpleStr 2');
41 ok(!is_LowerCaseSimpleStr('NOTOK_123`"'), 'LowerCaseSimpleStr 3');
42 ok(is_LowerCaseSimpleStr('ok_123`"'), 'LowerCaseSimpleStr 4');
43
44 ok(!is_UpperCaseSimpleStr('notok'), 'UpperCaseSimpleStr');
45 ok(is_UpperCaseSimpleStr('OK'), 'UpperCaseSimpleStr 2');
46 ok(!is_UpperCaseSimpleStr('notok_123`"'), 'UpperCaseSimpleStr 3');
47 ok(is_UpperCaseSimpleStr('OK_123`"'), 'UpperCaseSimpleStr 4');
48
49 ok(!is_LowerCaseStr('NOTOK'), 'LowerCaseStr');
50 ok(is_LowerCaseStr("ok\nok"), 'LowerCaseStr 2');
51 ok(!is_LowerCaseStr('NOTOK_123`"'), 'LowerCaseStr 3');
52 ok(is_LowerCaseStr("ok\n_123`'"), 'LowerCaseStr 4');
53
54 ok(!is_UpperCaseStr('notok'), 'UpperCaseStr');
55 ok(is_UpperCaseStr("OK\nOK"), 'UpperCaseStr 2');
56 ok(!is_UpperCaseStr('notok_123`"'), 'UpperCaseStr 3');
57 ok(is_UpperCaseStr("OK\n_123`'"), 'UpperCaseStr 4');
58
59 ok(is_NumericCode('032'),  'NumericCode lives');
60 ok(!is_NumericCode('abc'),  'NumericCode dies' );
61 ok(!is_NumericCode('x18'),  'mixed NumericCode dies');
62