SingleDigit now accepts [-9 .. 9] not [1 .. 9]
[gitmo/MooseX-Types-Common.git] / t / 02-numeric.t
1 use strict;
2 use warnings FATAL => 'all';
3
4 use Test::More;
5 use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
6
7 use MooseX::Types::Common::Numeric qw(
8     PositiveNum PositiveOrZeroNum
9     PositiveInt PositiveOrZeroInt
10     NegativeNum NegativeOrZeroNum
11     NegativeInt NegativeOrZeroInt
12     SingleDigit
13 );
14
15 ok(!is_SingleDigit(100), 'SingleDigit 100');
16 ok(!is_SingleDigit(10), 'SingleDigit 10');
17 ok(is_SingleDigit(9), 'SingleDigit 9');
18 ok(is_SingleDigit(1), 'SingleDigit 1');
19 ok(is_SingleDigit(0), 'SingleDigit 0');
20 ok(is_SingleDigit(-1), 'SingleDigit -1');
21 ok(is_SingleDigit(-9), 'SingleDigit -9');
22 ok(!is_SingleDigit(-10), 'SingleDigit -10');
23
24
25 ok(!is_PositiveInt(-100), 'PositiveInt (-100)');
26 ok(!is_PositiveInt(0), 'PositiveInt (0)');
27 ok(!is_PositiveInt(100.885), 'PositiveInt (100.885)');
28 ok(is_PositiveInt(100), 'PositiveInt (100)');
29 ok(!is_PositiveNum(0), 'PositiveNum (0)');
30 ok(is_PositiveNum(100.885), 'PositiveNum (100.885)');
31 ok(!is_PositiveNum(-100.885), 'PositiveNum (-100.885)');
32 ok(is_PositiveNum(0.0000000001), 'PositiveNum (0.0000000001)');
33
34 ok(!is_PositiveOrZeroInt(-100), 'PositiveOrZeroInt (-100)');
35 ok(is_PositiveOrZeroInt(0), 'PositiveOrZeroInt (0)');
36 ok(!is_PositiveOrZeroInt(100.885), 'PositiveOrZeroInt (100.885)');
37 ok(is_PositiveOrZeroInt(100), 'PositiveOrZeroInt (100)');
38 ok(is_PositiveOrZeroNum(0), 'PositiveOrZeroNum (0)');
39 ok(is_PositiveOrZeroNum(100.885), 'PositiveOrZeroNum (100.885)');
40 ok(!is_PositiveOrZeroNum(-100.885), 'PositiveOrZeroNum (-100.885)');
41 ok(is_PositiveOrZeroNum(0.0000000001), 'PositiveOrZeroNum (0.0000000001)');
42
43 ok(!is_NegativeInt(100), 'NegativeInt (100)');
44 ok(!is_NegativeInt(-100.885), 'NegativeInt (-100.885)');
45 ok(is_NegativeInt(-100), 'NegativeInt (-100)');
46 ok(!is_NegativeInt(0), 'NegativeInt (0)');
47 ok(is_NegativeNum(-100.885), 'NegativeNum (-100.885)');
48 ok(!is_NegativeNum(100.885), 'NegativeNum (100.885)');
49 ok(!is_NegativeNum(0), 'NegativeNum (0)');
50 ok(is_NegativeNum(-0.0000000001), 'NegativeNum (-0.0000000001)');
51
52 ok(!is_NegativeOrZeroInt(100), 'NegativeOrZeroInt (100)');
53 ok(!is_NegativeOrZeroInt(-100.885), 'NegativeOrZeroInt (-100.885)');
54 ok(is_NegativeOrZeroInt(-100), 'NegativeOrZeroInt (-100)');
55 ok(is_NegativeOrZeroInt(0), 'NegativeOrZeroInt (0)');
56 ok(is_NegativeOrZeroNum(-100.885), 'NegativeOrZeroNum (-100.885)');
57 ok(!is_NegativeOrZeroNum(100.885), 'NegativeOrZeroNum (100.885)');
58 ok(is_NegativeOrZeroNum(0), 'NegativeOrZeroNum (0)');
59 ok(is_NegativeOrZeroNum(-0.0000000001), 'NegativeOrZeroNum (-0.0000000001)');
60
61 done_testing;