RT #74346
[gitmo/MooseX-Types-Common.git] / t / 04-coerce.t
CommitLineData
a5c9a433 1#! /usr/bin/perl -w
2
3use strict;
4use warnings;
559b5d74 5use Test::More tests => 5;
a5c9a433 6
7{
8 package FooTest;
9 use Moose;
559b5d74 10 use MooseX::Types::Common::String ( qw(
11 LowerCaseSimpleStr
12 UpperCaseSimpleStr
13 LowerCaseStr
14 UpperCaseStr
15 NumericCode
16 ) );
a5c9a433 17
18 has uppercasesimplestr => ( is => 'rw', isa => UpperCaseSimpleStr, coerce => 1 );
19 has lowercasesimplestr => ( is => 'rw', isa => LowerCaseSimpleStr, coerce => 1 );
20 has uppercasestr => ( is => 'rw', isa => UpperCaseStr, coerce => 1 );
21 has lowercasestr => ( is => 'rw', isa => LowerCaseStr, coerce => 1 );
559b5d74 22 has numericcode => ( is => 'rw', isa => NumericCode, coerce => 1 );
a5c9a433 23}
24
25my $ins = FooTest->new({
26 uppercasesimplestr => 'foo',
27 lowercasesimplestr => 'BAR',
28 uppercasestr => 'foo',
29 lowercasestr => 'BAR',
559b5d74 30 numericcode => '4111-1111-1111-1111',
a5c9a433 31});
32
33is( $ins->uppercasesimplestr, 'FOO', 'uppercase str' );
34is( $ins->lowercasesimplestr, 'bar', 'lowercase str' );
35
36is( $ins->uppercasestr, 'FOO', 'uppercase str' );
37is( $ins->lowercasestr, 'bar', 'lowercase str' );
559b5d74 38
39is( $ins->numericcode, '4111111111111111', 'numeric code' );