-#!/usr/bin/perl
-
use strict;
use warnings;
object => Foo->new( number => 2 ),
);
isa_ok( $foo, 'Foo' );
-
+
cmp_deeply(
$foo->pack,
{
float => 10.5,
array => [ 1 .. 10 ],
hash => { map { $_ => undef } ( 1 .. 10 ) },
- object => {
- __CLASS__ => 'Foo',
- number => 2
- },
+ object => {
+ __CLASS__ => 'Foo',
+ number => 2
+ },
},
'... got the right frozen class'
);
float => 10.5,
array => [ 1 .. 10 ],
hash => { map { $_ => undef } ( 1 .. 10 ) },
- object => {
- __CLASS__ => 'Foo',
- number => 2
- },
- }
+ object => {
+ __CLASS__ => 'Foo',
+ number => 2
+ },
+ }
);
isa_ok( $foo, 'Foo' );
use Scalar::Util 'looks_like_number';
- with Storage;
-
- subtype 'Natural'
+ with Storage;
+
+ subtype 'Natural'
=> as 'Int'
=> where { $_ > 0 };
-
- subtype 'HalfNum'
+
+ subtype 'HalfNum'
=> as 'Num'
- => where { "$_" =~ /\.5$/ };
-
+ => where { "$_" =~ /\.5$/ };
+
subtype 'FooString'
=> as 'Str'
=> where { lc($_) eq 'foo' };
-
- subtype 'IntArray'
+
+ subtype 'IntArray'
=> as 'ArrayRef'
=> where { scalar grep { looks_like_number($_) } @{$_} };
- subtype 'UndefHash'
+ subtype 'UndefHash'
=> as 'HashRef'
=> where { scalar grep { !defined($_) } values %{$_} };
object => Foo->new( number => 2 ),
);
isa_ok( $foo, 'Foo' );
-
+
cmp_deeply(
$foo->pack,
{
float => 10.5,
array => [ 1 .. 10 ],
hash => { map { $_ => undef } ( 1 .. 10 ) },
- object => {
- __CLASS__ => 'Foo',
- number => 2
- },
+ object => {
+ __CLASS__ => 'Foo',
+ number => 2
+ },
},
'... got the right frozen class'
);
float => 10.5,
array => [ 1 .. 10 ],
hash => { map { $_ => undef } ( 1 .. 10 ) },
- object => {
- __CLASS__ => 'Foo',
- number => 2
- },
- }
+ object => {
+ __CLASS__ => 'Foo',
+ number => 2
+ },
+ }
);
isa_ok( $foo, 'Foo' );