File: 04-coerce.t

package info (click to toggle)
libmoosex-types-common-perl 0.001008-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 176 kB
  • sloc: perl: 1,716; makefile: 2
file content (39 lines) | stat: -rw-r--r-- 1,097 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#! /usr/bin/perl -w

use strict;
use warnings;
use Test::More tests => 5;

{
  package FooTest;
  use Moose;
  use MooseX::Types::Common::String ( qw(
    LowerCaseSimpleStr
    UpperCaseSimpleStr
    LowerCaseStr
    UpperCaseStr
	NumericCode
  ) );

  has uppercasesimplestr => ( is => 'rw', isa => UpperCaseSimpleStr, coerce => 1 );
  has lowercasesimplestr => ( is => 'rw', isa => LowerCaseSimpleStr, coerce => 1 );
  has uppercasestr => ( is => 'rw', isa => UpperCaseStr, coerce => 1 );
  has lowercasestr => ( is => 'rw', isa => LowerCaseStr, coerce => 1 );
  has numericcode  => ( is => 'rw', isa => NumericCode,  coerce => 1 );
}

my $ins = FooTest->new({
  uppercasesimplestr => 'foo',
  lowercasesimplestr => 'BAR',
  uppercasestr => 'foo',
  lowercasestr => 'BAR',
  numericcode  => '4111-1111-1111-1111',
});

is( $ins->uppercasesimplestr, 'FOO', 'uppercase str' );
is( $ins->lowercasesimplestr, 'bar', 'lowercase str' );

is( $ins->uppercasestr, 'FOO', 'uppercase str' );
is( $ins->lowercasestr, 'bar', 'lowercase str' );

is( $ins->numericcode, '4111111111111111', 'numeric code' );