Checking if your kit is complete... Looks good Writing Makefile for Brick Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. cp lib/Numbers.pm blib\lib/Brick/Numbers.pm cp lib/UserGuide.pm blib\lib/Brick/UserGuide.pm cp lib/General.pm blib\lib/Brick/General.pm cp lib/Composers.pm blib\lib/Brick/Composers.pm cp lib/Dates.pm blib\lib/Brick/Dates.pm cp lib/Profile.pm blib\lib/Brick/Profile.pm cp lib/Tutorial.pm blib\lib/Brick/Tutorial.pm cp lib/Constraints.pm blib\lib/Brick/Constraints.pm cp lib/Strings.pm blib\lib/Brick/Strings.pm cp lib/Bucket.pm blib\lib/Brick/Bucket.pm cp lib/Regexes.pm blib\lib/Brick/Regexes.pm cp lib/Files.pm blib\lib/Brick/Files.pm cp lib/Brick.pm blib\lib/Brick.pm cp lib/Result.pm blib\lib/Brick/Result.pm cp lib/Filters.pm blib\lib/Brick/Filters.pm cp lib/Selectors.pm blib\lib/Brick/Selectors.pm Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. C:\cpanrun\build\5-10-0\bin\perl.exe "-MTest::Manifest" "-e" "run_t_manifest(1, 'blib\lib', 'blib\arch', )" Level is # Test level is Test::Manifest::test_harness found [t\load.t t\pod.t t\composers\load.t t\composers\__compose_satisfy_N_to_M.t t\composers\__compose_satisfy_none.t t\composers\__compose_satisfy_all.t t\composers\__compose_satisfy_any.t t\composers\__compose_pass_or_stop.t t\composers\__compose_pass_or_skip.t t\constraints\__make_constraint.t t\bucket\load.t t\bucket\new_bucket.t t\bucket\new_entry.t t\bucket\add_to_bucket.t t\bucket\get_brick_by_name.t t\bucket\unique.t t\error.t t\init.t t\explain.t t\apply.t t\field_labels.t t\external\add_validator_packages.t t\external\new-external_packages.t t\filters\_remove_whitespace.t t\filters\_uppercase.t t\filters\_lowercase.t t\filters\_remove_extra_fields.t t\general\__fields_are_something.t t\general\_is_defined.t t\general\_fields_exist.t t\general\_fields_are_defined_and_not_null_string.t t\general\_value_length_is_equal_to_greater_than.t t\general\_value_length_is_equal_to_less_than.t t\general\_value_length_is_between.t t\numbers\number_within_range.t t\numbers\_numeric_equal_or_greater_than.t t\numbers\_numeric_strictly_greater_than.t t\numbers\_numeric_equal_or_less_than.t t\numbers\_numeric_strictly_less_than.t t\messages\number_range_error.t t\dates\__get_ymd_as_hashref.t t\dates\_get_days_between.t t\dates\_is_YYYYMMDD_date_format.t t\dates\valid_date.t t\dates\ranges.t t\dates\days_between_dates_within_range.t t\dates\days_between_dates_outside_range.t t\dates\at_least_N_days_between.t t\dates\at_most_N_days_between.t t\files\has_file_extension.t t\regexes\_matches_regex.t t\selectors\_is_even_number.t t\selectors\_is_odd_number.t t\selectors\_is_tuesday.t t\use_cases\zip_code.t t\use_cases\phone_number.t t\use_cases\anonymous_brick.t t\use_cases\paycheck.t t\use_cases\foursquare.t t\use_cases\top-level-errors.t] t\load...............................................1..9 ok 1 - use Brick; ok 2 - use Brick::Bucket; ok 3 - use Brick::Composers; ok 4 - use Brick::Dates; ok 5 - use Brick::Filters; ok 6 - use Brick::Profile; ok 7 - use Brick::Result; ok 8 ok 9 ok t\pod................................................1..16 ok 1 - blib\lib\Brick.pm ok 2 - blib\lib\Brick\Bucket.pm ok 3 - blib\lib\Brick\Composers.pm ok 4 - blib\lib\Brick\Constraints.pm ok 5 - blib\lib\Brick\Dates.pm ok 6 - blib\lib\Brick\Files.pm ok 7 - blib\lib\Brick\Filters.pm ok 8 - blib\lib\Brick\General.pm ok 9 - blib\lib\Brick\Numbers.pm ok 10 - blib\lib\Brick\Profile.pm ok 11 - blib\lib\Brick\Regexes.pm ok 12 - blib\lib\Brick\Result.pm ok 13 - blib\lib\Brick\Selectors.pm ok 14 - blib\lib\Brick\Strings.pm ok 15 - blib\lib\Brick\Tutorial.pm ok 16 - blib\lib\Brick\UserGuide.pm ok t\composers\load.....................................1..1 ok 1 - use Brick::Composers; ok t\composers\__compose_satisfy_N_to_M.................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _value_length_is_equal_to_less_than returns a hash ref isa CODE ok 7 - Satisfied zero or one true test ok 8 - 'code' key has a sub reference in it isa CODE ok 9 - Satisfied exactly one true test ok 10 - _value_length_is_equal_to_less_than returns a code ref isa CODE ok 11 - Couldn't satisfy two true test with one sub ok 12 - death returns a hash ref in $@ isa HASH ok 13 - hash ref has a 'handler' key ok 14 - hash ref has a 'message' key ok 15 - hash ref has a 'errors' key ok 16 - 'errors' key is an anonymous array isa ARRAY ok 17 - 'errors' key is an anonymous array with no elements ok 18 - _value_length_is_equal_to_less_than returns a code ref isa CODE ok 19 - Satisfied exactly one true test ok 20 - The object isa CODE ok 21 - The object isa CODE ok 22 - The object isa CODE ok 23 - _value_length_is_equal_to_less_than returns a code ref isa CODE ok 24 - Satisfied three true test (with one die) ok 25 - death returns a hash ref in HASH(0x208f59c) isa HASH ok 26 - hash ref has a 'handler' key ok 27 - hash ref has a 'message' key ok 28 - hash ref has a 'errors' key ok 29 - 'errors' key is an anonymous array isa ARRAY ok 30 - 'errors' key is an anonymous array with one element 1..30 ok t\composers\__compose_satisfy_none...................ok 1 - use Brick::Bucket; ok 2 - __compose_satisfy_none defined ok 3 - __none defined ok 4 - use Mock::Bucket; ok 5 - The object isa Mock::Bucket ok 6 - The object isa Brick::Bucket ok 7 - __compose_satisfy_none returns a code ref isa CODE ok 8 - Satisfied no tests (that's good) ok 9 - __compose_satisfy_none returns a code ref isa CODE ok 10 - Satisfied no tests (that's good) ok 11 - __compose_satisfy_none returns a code ref isa CODE ok 12 - Satisfied no tests (that's good) ok 13 - __compose_satisfy_none returns a code ref isa CODE ok 14 - Satisfied something (that's bad) ok 15 - __none returns a code ref isa CODE ok 16 - Satisfied no tests (that's good) ok 17 - __none returns a code ref isa CODE ok 18 - Satisfied no tests (that's good) ok 19 - __none returns a code ref isa CODE ok 20 - Satisfied no tests (that's good) ok 21 - __none returns a code ref isa CODE ok 22 - Satisfied something (that's bad) 1..22 ok t\composers\__compose_satisfy_all....................ok 1 - use Brick::Bucket; ok 2 - __compose_satisfy_all defined ok 3 - __and defined ok 4 - use Mock::Bucket; ok 5 - The object isa Mock::Bucket ok 6 - The object isa Brick::Bucket ok 7 - __compose_satisfy_all returns a code ref isa CODE ok 8 - Satisfied one test (that's good) ok 9 - __compose_satisfy_all returns a code ref isa CODE ok 10 - Satisfied two tests (that's good) ok 11 - __compose_satisfy_all returns a code ref isa CODE ok 12 - Satisfied three tests (that's good) ok 13 - __compose_satisfy_all returns a code ref isa CODE ok 14 - Failed something (that's bad) ok 15 - __and returns a code ref isa CODE ok 16 - Satisfied one test (that's good) ok 17 - __and returns a code ref isa CODE ok 18 - Satisfied two tests (that's good) ok 19 - __and returns a code ref isa CODE ok 20 - Satisfied three tests (that's good) ok 21 - __and returns a code ref isa CODE ok 22 - Failed something (that's bad) 1..22 ok t\composers\__compose_satisfy_any....................ok 1 - use Brick::Composers; ok 2 - __compose_satisfy_any defined ok 3 - __or defined 1..3 ok t\composers\__compose_pass_or_stop...................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - __compose_pass_or_skip returns a hash ref isa CODE ok 7 - Satisfied one ok 8 - No error in $@ ok 9 - __compose_pass_or_skip returns a hash ref isa CODE ok 10 - Satisfied none and failed, as expected ok 11 - No error in $@ ok 12 - __compose_pass_or_skip returns a hash ref isa CODE ok 13 - Satisfied none, died, and failed, as expected ok 14 - There's an error in $@ for die_sub 1..14 ok t\composers\__compose_pass_or_skip...................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - __compose_pass_or_skip returns a hash ref isa CODE ok 7 - Satisfied one ok 8 - __compose_pass_or_skip returns a hash ref isa CODE ok 9 - Satisfied none ok 10 - $@ is a reference isa HASH ok 11 - __compose_pass_or_skip returns a hash ref isa CODE ok 12 - Failed, as expected ok 13 - $@ is a reference isa HASH ok 14 - Key 'message' exists in die ref ok 15 - Key 'handler' exists in die ref ok 16 - __compose_pass_or_skip returns a hash ref isa CODE ok 17 - Animal 'dog' returned true ok 18 - Animal 'cat' returned true ok 19 - Animal 'dog' returned true ok 20 - $@ isa HASH ok 21 - Key 'message' exists in die ref ok 22 - Key 'handler' exists in die ref ok 23 - $@ isa HASH ok 24 - Key 'message' exists in die ref ok 25 - Key 'handler' exists in die ref ok 26 - __compose_pass_or_skip returns a hash ref isa CODE ok 27 - Animal 'dog' with 'meow' failed Still here! ok 28 - Animal 'cat' with 'meow' passed ok 29 - Animal 'dog' with 'meow' failed 1..29 ok t\constraints\__make_constraint......................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Method is defined ok 7 - Making a constraint from a leading underscore carps ok 8 - Result is undefined ok 9 - $@ set is undefined 1..9 ok t\bucket\load........................................1..3 ok 1 - use Brick::Composers; ok 2 ok 3 ok t\bucket\new_bucket..................................ok 1 - use Brick::Bucket; ok 2 - The object isa Brick::Bucket 1..2 ok t\bucket\new_entry...................................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - The object isa Brick::Bucket ok 4 - The object isa Brick::Bucket::Entry 1..4 ok t\bucket\add_to_bucket...............................ok 1 - use Brick::Bucket; ok 2 - The object isa Brick::Bucket ok 3 - The object isa CODE ok 4 - Brick::Bucket->can('number_within_range') ok 5 - Brick::Bucket->can('__compose_satisfy_all') 1..5 ok t\bucket\get_brick_by_name...........................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - The object isa Brick::Bucket ok 4 - Method is defined ok 5 - No bricks in the bucket yet ok 6 - One brick in the bucket now ok 7 - The object isa CODE ok 8 - Got back the same code ref ok 9 - No bricks in the bucket yet ok 10 - One brick in the bucket now ok 11 - The object isa CODE ok 12 - Got back the same code ref ok 13 - No bricks in the bucket yet ok 14 - One brick in the bucket now ok 15 - Got two code refs ok 16 - The object isa CODE ok 17 - The object isa CODE 1..17 ok t\bucket\unique......................................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - The object isa Brick::Bucket ok 4 - Method is defined ok 5 - No bricks in the bucket yet ok 6 - One brick in the bucket now ok 7 - The object isa CODE ok 8 - Got back the same code ref ok 9 - No bricks in the bucket yet ok 10 - One brick in the bucket now ok 11 - The object isa CODE ok 12 - Got back the same code ref ok 13 - One brick named [One] already ok 14 - Two bricks name [One] in the bucket now ok 15 - Got two code refs ok 16 - No bricks in the bucket yet ok 17 - Adding already unique name croaks ok 18 - Still only one brick named [Two] ok 19 - Only one brick named [One] ok 20 - Adding already unique name croaks ok 21 - Still only one brick named [One] 1..21 ok t\error..............................................ok 1 - use Brick; ok 2 - Error message is in $@ ok 3 - Error message comes back right 1..3 ok t\init...............................................ok 1 - use Brick; ok 2 - Brick->can('init') ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 - String value for external_pacakges carps ok 14 ok 15 ok 16 - The object isa ARRAY ok 17 ok 18 ok 19 ok 20 ok 21 - The object isa ARRAY 1..21 ok t\explain............................................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Profile is formatted correctly # ok 4 - Profile is formatted correctly # ok 5 - Profile is formatted correctly # ok 6 - Bad profile carps ok 7 - Profile is formatted correctly # 1..7 ok t\apply..............................................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Profile is formatted correctly # ok 4 - The object isa Brick::Result ok 5 - Profile is formatted correctly # 1..5 ok t\field_labels.......................................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - The object isa Brick::Bucket ok 4 - Brick::Bucket->can('use_field_labels') ok 5 - Brick::Bucket->can('get_field_label') ok 6 - Brick::Bucket->can('set_field_label') ok 7 - Right value for key [1] ok 8 - Right value for key [3] ok 9 - Right value for key [red_dog] ok 10 - Right value for key [2] ok 11 - Undefined value for non-existent key [] ok 12 - Undefined value for non-existent key [] ok 13 - Undefined value for non-existent key [0] ok 14 - Undefined value for non-existent key [blue_dog] ok 15 - Right value for key [1] ok 16 - Right value for key [1] ok 17 - Right value for key [3] ok 18 - Right value for key [3] ok 19 - Right value for key [red_dog] ok 20 - Right value for key [red_dog] ok 21 - Right value for key [2] ok 22 - Right value for key [2] 1..22 ok t\external\add_validator_packages....................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Bucket class is defined: Brick::Bucket ok 4 - The object isa Brick::Bucket ok 5 - _load_external_packages is there ok 6 - add_validator_packages is there ok 7 - _is_the_number_3 is not in Brick::Bucket ok 8 - _is_the_letter_e is not in Brick::Bucket ok 9 - use Mock::FooValidator; ok 10 - _is_the_number_3 is not in Brick::Bucket ok 11 - _is_the_letter_e is not in Brick::Bucket ok 12 - _is_the_number_3 is in Brick::Bucket after add_validator_packages ok 13 - The object isa CODE ok 14 - _is_the_letter_e is in Brick::Bucket after add_validator_packages ok 15 - The object isa CODE ok 16 - _is_odd is not in Brick::Bucket ok 17 - _is_even is not in Brick::Bucket ok 18 - use Mock::BarValidator; ok 19 - _is_odd is not in Brick::Bucket ok 20 - _is_even is not in Brick::Bucket ok 21 - _is_the_number_3 is not in Brick::Bucket after add_validator_packages ok 22 - The object isa CODE ok 23 - _is_the_letter_e is not in Brick::Bucket after add_validator_packages ok 24 - The object isa CODE ok 25 - Mock::Please::Dont::Be::There::No::Really is not there (good) ok 26 - Adding non-existent validator package 1..26 ok t\external\new-external_packages.....................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Bucket class is defined: Brick::Bucket ok 4 - The object isa Brick::Bucket ok 5 - _load_external_packages is there ok 6 - add_validator_packages is there ok 7 - _is_the_number_3 is not in Brick::Bucket ok 8 - _is_the_letter_e is not in Brick::Bucket ok 9 - _is_the_number_3 is not in Brick::Bucket ok 10 - _is_the_letter_e is not in Brick::Bucket ok 11 - _is_the_number_3 is in Brick::Bucket after add_validator_packages ok 12 - The object isa CODE ok 13 - _is_the_letter_e is in Brick::Bucket after add_validator_packages ok 14 - The object isa CODE ok 15 - _is_odd is not in Brick::Bucket after add_validator_packages ok 16 - The object isa CODE ok 17 - _is_even is not in Brick::Bucket after add_validator_packages ok 18 - The object isa CODE 1..18 ok t\filters\_remove_whitespace.........................ok 1 - use Brick::Filters; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _remove_whitespace returns a code ref isa CODE ok 7 - 'string' has whitespace ok 8 - 'leave_alone' has whitespace ok 9 - Result succeeds ok 10 - 'string' has no whitespace after filter ok 11 - 'leave_alone' still has whitespace after filter ok 12 - Does not create missing field ok 13 - Does not create missing field ok 14 - 'string1' has whitespace ok 15 - 'string2' has whitespace ok 16 - Result succeeds ok 17 - 'string1' has no whitespace after filter ok 18 - 'string2' has no whitespace after filter ok 19 - Does not create missing field 1..19 ok t\filters\_uppercase.................................ok 1 - use Brick::Filters; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _uppercase returns a code ref isa CODE ok 7 - 'string' has lowercase ok 8 - 'leave_alone' has lowercase ok 9 - Result succeeds ok 10 - 'string' has no lowercase after filter ok 11 - 'leave_alone' still has lowercase after filter ok 12 - Does not create missing field ok 13 - Does not create missing field ok 14 - 'string1' has lowercase ok 15 - 'string2' has lowercase ok 16 - Result succeeds ok 17 - 'string1' has no lowercase after filter ok 18 - 'string2' has no lowercase after filter ok 19 - Does not create missing field 1..19 ok t\filters\_lowercase.................................ok 1 - use Brick::Filters; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _lowercase returns a code ref isa CODE ok 7 - 'string' has uppercase ok 8 - 'leave_alone' has uppercase ok 9 - Result succeeds ok 10 - 'string' has no uppercase after filter ok 11 - 'leave_alone' still has uppercase after filter ok 12 - Does not create missing field ok 13 - Does not create missing field ok 14 - 'string1' has uppercase ok 15 - 'string2' has uppercase ok 16 - Result succeeds ok 17 - 'string1' has no uppercase after filter ok 18 - 'string2' has no uppercase after filter ok 19 - Does not create missing field 1..19 ok t\filters\_remove_extra_fields.......................ok 1 - use Brick::Filters; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _remove_extra_fields returns a code ref isa CODE ok 7 - Key 'cat' exists in input ok 8 - Key 'dog' exists in input ok 9 - Key 'bird' exists in input ok 10 - Key 'cat' still exists in input ok 11 - Key 'dog' still exists in input ok 12 - Key 'bird' still exists in input ok 13 - Key 'cat' exists in input ok 14 - Key 'dog' exists in input ok 15 - Key 'bird' exists in input ok 16 - Key 'camel' exists in input ok 17 - Key 'cat' still exists in input ok 18 - Key 'dog' still exists in input ok 19 - Key 'bird' still exists in input ok 20 - Key 'camel' removed from input 1..20 ok t\general\__fields_are_something.....................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - use Brick::General; ok 4 - The object isa Brick::Bucket ok 5 - croaks when 'fields' is not an array reference ok 6 - Returns undef on failure ok 7 - Profile is formatted correctly # ok 8 - apply() returns an array reference isa ARRAY ok 9 - Results have the same number of elements as the profile ok 10 - defined passes ok 11 - true passes ok 12 - false passes ok 13 - blank passes ok 14 - present passes ok 15 - some_not_blank fails (as expected) ok 16 - bad_row fails (as expected) 1..16 ok t\general\_is_defined................................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _defined_fields returns a code ref isa CODE ok 7 - Result succeeds for defined field, true ok 8 - Result succeeds for defined field, false ok 9 - Result fails (as expected) ok 10 - death returns a hash ref in $@ isa HASH ok 11 - hash ref has a 'handler' key ok 12 - hash ref has a 'message' key 1..12 ok t\general\_fields_exist..............................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Method is defined ok 7 - _fields_exist returns a code ref isa CODE ok 8 - Result succeeds for only required fields ok 9 - Result succeeds for extra fields ok 10 - Result fails (as expected) ok 11 - death returns a hash ref in $@ isa HASH ok 12 - hash ref has a 'handler' key ok 13 - hash ref has a 'message' key ok 14 - Eval fails when not passing array ref for fields ok 15 - Result fails (as expected) 1..15 ok t\general\_fields_are_defined_and_not_null_string....ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _fields_are_defined_and_not_null_string returns a code ref isa CODE ok 7 - _fields_are_defined_and_not_null_string returns a code ref isa CODE ok 8 - Result passes (as expected) ok 9 - _fields_are_defined_and_not_null_string returns a code ref isa CODE ok 10 - Result fails (as expected) ok 11 - death returns a hash ref in $@ isa HASH ok 12 - hash ref has a 'handler' key ok 13 - hash ref has a 'message' key 1..13 ok t\general\_value_length_is_equal_to_greater_than.....ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _value_length_is_equal_to_less_than returns a code ref isa CODE ok 7 - Result succeeds ok 8 - Result fails (as expected) with short input ok 9 - death returns a hash ref in $@ isa HASH ok 10 - hash ref has a 'handler' key ok 11 - hash ref has a 'message' key 1..11 ok t\general\_value_length_is_equal_to_less_than........ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _value_length_is_equal_to_less_than returns a code ref isa CODE ok 7 - Result succeeds ok 8 - Result fails (as expected) ok 9 - death returns a hash ref in HASH(0x20884e4) isa HASH ok 10 - hash ref has a 'handler' key ok 11 - hash ref has a 'message' key 1..11 ok t\general\_value_length_is_between...................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - _value_length_is_equal_to_less_than returns a code ref isa CODE ok 7 - Result succeeds ok 8 - Result fails (as expected) ok 9 - death returns a hash ref in HASH(0x20251fc) isa HASH ok 10 - hash ref has a 'handler' key ok 11 - hash ref has a 'message' key 1..11 ok t\numbers\number_within_range........................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Method is defined ok 4 - The object isa Brick::Bucket ok 5 - The object isa CODE ok 6 - Leaving off maximum fails ok 7 - Leaving off minimum fails ok 8 - Leaving off both maximum and minimum fails 1..8 ok t\numbers\_numeric_equal_or_greater_than.............ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_numeric_equal_or_greater_than') ok 7 - _numeric_equal_or_greater_than returns a code ref isa CODE ok 8 - Greater number validates ok 9 - Equal number validates ok 10 - Result fails (as expected) ok 11 - Failure is fatal 1..11 ok t\numbers\_numeric_strictly_greater_than.............ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_numeric_strictly_greater_than') ok 7 - _numeric_strictly_greater_than returns a code ref isa CODE ok 8 - Greater number validates ok 9 - Equal number fails (as expected) ok 10 - Failure is fatal ok 11 - The object isa HASH ok 12 - Lesser number fails (as expected) ok 13 - Failure is fatal ok 14 - The object isa HASH 1..14 ok t\numbers\_numeric_equal_or_less_than................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_numeric_equal_or_less_than') ok 7 - _numeric_equal_or_less_than returns a code ref isa CODE ok 8 - Lesser number validates ok 9 - Equal number validates ok 10 - Result fails (as expected) ok 11 - Failure isn't fatal 1..11 ok t\numbers\_numeric_strictly_less_than................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_numeric_strictly_less_than') ok 7 - _numeric_strictly_less_than returns a code ref isa CODE ok 8 - Lesser number validates ok 9 - Equal number fails (as expected) ok 10 - Failure is fatal ok 11 - The object isa HASH ok 12 - Greater number fails (as expected) ok 13 - Failure is fatal ok 14 - The object isa HASH 1..14 ok t\messages\number_range_error........................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Profile is formatted correctly # ok 4 - apply() returns an array reference isa ARRAY ok 5 - Results have the same number of elements as the profile 1..5 ok t\dates\__get_ymd_as_hashref.........................ok 1 - use Brick::Dates; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('__get_ymd_as_hashref') ok 7 - Returns hashref isa HASH ok 8 - Key for year is there ok 9 - Key for year is there ok 10 - Key for year is there ok 11 - Improper date croaks ok 12 - Improper date returns undef ok 13 - February 30 croaks ok 14 - Improper date returns undef 1..14 ok t\dates\_get_days_between............................ok 1 - use Brick::Dates; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_get_days_between') ok 7 - Got one day between good dates, ascending ok 8 - Got one day between good dates, descending 1..8 ok t\dates\_is_YYYYMMDD_date_format.....................ok 1 - use Brick::Dates; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_is_YYYYMMDD_date_format') ok 7 - _is_YYYYMMDD_date_format returns sub isa CODE ok 8 - Good date returns true ok 9 - Bad date returns false 1..9 ok t\dates\valid_date...................................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - use Brick::Dates; ok 4 - Profile is formatted correctly # ok 5 - apply() returns an array reference isa ARRAY ok 6 - Results have the same number of elements as the profile 1..6 ok t\dates\ranges.......................................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - use Brick::Dates; ok 4 - Profile is formatted correctly # ok 5 - apply() returns an array reference isa ARRAY ok 6 - Results have the same number of elements as the profile 1..6 ok t\dates\days_between_dates_within_range..............ok 1 - use Brick::Dates; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('days_between_dates_within_range') ok 7 - The object isa CODE ok 8 - Good date works ok 9 - The object isa CODE ok 10 - Result fails (as expected) ok 11 - death returns a hash ref in HASH(0x1fa932c) isa HASH ok 12 - hash ref has a 'handler' key ok 13 - hash ref has a 'message' key ok 14 - The object isa CODE ok 15 - Good date works ok 16 - Result fails (as expected) ok 17 - death returns a hash ref in HASH(0x1f8088c) isa HASH ok 18 - hash ref has a 'handler' key ok 19 - hash ref has a 'message' key ok 20 - Result fails (as expected) ok 21 - death returns a hash ref in HASH(0x2023cd4) isa HASH ok 22 - hash ref has a 'handler' key ok 23 - hash ref has a 'message' key ok 24 - The object isa CODE ok 25 - Good date works ok 26 - Result fails (as expected) ok 27 - death returns a hash ref in HASH(0x2023704) isa HASH ok 28 - hash ref has a 'handler' key ok 29 - hash ref has a 'message' key ok 30 - Result fails (as expected) ok 31 - death returns a hash ref in HASH(0x2024134) isa HASH ok 32 - hash ref has a 'handler' key ok 33 - hash ref has a 'message' key ok 34 - The object isa CODE ok 35 - Good date works ok 36 - Result fails (as expected) ok 37 - death returns a hash ref in HASH(0x2023694) isa HASH ok 38 - hash ref has a 'handler' key ok 39 - hash ref has a 'message' key ok 40 - Result fails (as expected) ok 41 - death returns a hash ref in HASH(0x202776c) isa HASH ok 42 - hash ref has a 'handler' key ok 43 - hash ref has a 'message' key 1..43 ok t\dates\days_between_dates_outside_range.............ok 1 - use Brick::Dates; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('days_between_dates_outside_range') ok 7 - The object isa CODE ok 8 - Good date works ok 9 - The object isa CODE ok 10 - Result fails (as expected) ok 11 - death returns a hash ref in HASH(0x1f969e4) isa HASH ok 12 - hash ref has a 'handler' key ok 13 - hash ref has a 'message' key ok 14 - The object isa CODE ok 15 - Good date works ok 16 - Result fails (as expected) ok 17 - death returns a hash ref in HASH(0x1f7deac) isa HASH ok 18 - hash ref has a 'handler' key ok 19 - hash ref has a 'message' key ok 20 - The object isa CODE ok 21 - Good date works ok 22 - Result fails (as expected) ok 23 - death returns a hash ref in HASH(0x201e174) isa HASH ok 24 - hash ref has a 'handler' key ok 25 - hash ref has a 'message' key ok 26 - The object isa CODE ok 27 - Good date works ok 28 - Result fails (as expected) ok 29 - death returns a hash ref in HASH(0x201e104) isa HASH ok 30 - hash ref has a 'handler' key ok 31 - hash ref has a 'message' key 1..31 ok t\dates\at_least_N_days_between......................ok 1 - use Brick::Dates; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('at_least_N_days_between') ok 7 - The object isa CODE ok 8 - Good date works ok 9 - The object isa CODE ok 10 - Good date works ok 11 - Result fails (as expected) ok 12 - death returns a hash ref in HASH(0x2023d14) isa HASH ok 13 - hash ref has a 'handler' key ok 14 - hash ref has a 'message' key ok 15 - Result fails (as expected) ok 16 - death returns a hash ref in HASH(0x2023814) isa HASH ok 17 - hash ref has a 'handler' key ok 18 - hash ref has a 'message' key ok 19 - The object isa CODE ok 20 - Result fails (as expected) ok 21 - death returns a hash ref in HASH(0x2023dc4) isa HASH ok 22 - hash ref has a 'handler' key ok 23 - hash ref has a 'message' key ok 24 - Result fails (as expected) ok 25 - death returns a hash ref in HASH(0x2083c54) isa HASH ok 26 - hash ref has a 'handler' key ok 27 - hash ref has a 'message' key ok 28 - The object isa CODE ok 29 - Result fails (as expected) ok 30 - death returns a hash ref in HASH(0x2023774) isa HASH ok 31 - hash ref has a 'handler' key ok 32 - hash ref has a 'message' key ok 33 - Result fails (as expected) ok 34 - death returns a hash ref in HASH(0x2084084) isa HASH ok 35 - hash ref has a 'handler' key ok 36 - hash ref has a 'message' key 1..36 ok t\dates\at_most_N_days_between.......................ok 1 - use Brick::Dates; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('at_most_N_days_between') ok 7 - The object isa CODE ok 8 - Good date works ok 9 - The object isa CODE ok 10 - Good date works ok 11 - Result fails (as expected) ok 12 - death returns a hash ref in HASH(0x201377c) isa HASH ok 13 - hash ref has a 'handler' key ok 14 - hash ref has a 'message' key ok 15 - The object isa CODE ok 16 - Result fails (as expected) ok 17 - death returns a hash ref in HASH(0x2013a4c) isa HASH ok 18 - hash ref has a 'handler' key ok 19 - hash ref has a 'message' key ok 20 - The object isa CODE ok 21 - Result fails (as expected) ok 22 - death returns a hash ref in HASH(0x20809cc) isa HASH ok 23 - hash ref has a 'handler' key ok 24 - hash ref has a 'message' key 1..24 ok t\files\has_file_extension...........................ok 1 - use Brick; ok 2 - use Brick::Bucket; ok 3 - use Brick::Files; ok 4 - Caller sub is there ok 5 - I get back a sub isa CODE ok 6 - Sub returns true for good extension ok 7 - Sub returns true for good extension ok 8 - Sub returns true for good extension ok 9 - Sub returns false for bad extension ok 10 - $@ set for bad extension ok 11 - Sub returns false for bad extension ok 12 - $@ set for bad extension ok 13 - Sub returns false for bad extension ok 14 - $@ set for bad extension 1..14 ok t\regexes\_matches_regex.............................ok 1 - use Brick::Dates; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_matches_regex') ok 7 - croaks without a regex (empty string) ok 8 - croaks without a regex (undef) ok 9 - croaks without a regex (string) ok 10 - The object isa CODE 1..10 ok t\selectors\_is_even_number..........................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_is_even_number') ok 7 - _is_even_number returns a code ref isa CODE ok 8 - Even number validates ok 9 - Result fails (as expected) ok 10 - Failure isn't fatal 1..10 ok t\selectors\_is_odd_number...........................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_is_odd_number') ok 7 - _is_odd_number returns a code ref isa CODE ok 8 - Odd number validates ok 9 - Result fails (as expected) ok 10 - Failure isn't fatal 1..10 ok t\selectors\_is_tuesday..............................ok 1 - use Brick::General; ok 2 - use Brick::Bucket; ok 3 - use Mock::Bucket; ok 4 - The object isa Mock::Bucket ok 5 - The object isa Brick::Bucket ok 6 - Mock::Bucket->can('_is_tuesday') ok 7 - _is_tuesday returns a code ref isa CODE ok 8 - Overrode localtime ok 9 - Passed ok 10 - _is_tuesday returns a code ref isa CODE ok 11 - Overrode localtime ok 12 - Failed (expected) 1..12 ok t\use_cases\zip_code.................................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Profile has no errors ok 4 - zip_code passes ok 5 - short_zip_code fails (as expected) ok 6 - long_zip_code fails (as expected) ok 7 - letter_zip_code fails (as expected) 1..7 ok t\use_cases\phone_number.............................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Profile has no errors ok 4 - phone passes ok 5 - space_phone passes ok 6 - dot_phone passes ok 7 - short_phone fails (as expected) ok 8 - long_phone fails (as expected) ok 9 - letter_phone fails (as expected) 1..9 ok t\use_cases\anonymous_brick..........................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - The object isa CODE ok 4 - I get the same sub back ok 5 - The object isa CODE ok 6 - The object isa CODE ok 7 - The object isa CODE ok 8 - The object isa CODE 1..8 ok t\use_cases\paycheck.................................ok 1 - use Brick; ok 2 - use Brick::Bucket; ok 3 - The object isa CODE ok 4 - valid semester works ok 5 - valid semester works ok 6 - valid semester works ok 7 - invalid semester doesn't work ok 8 - The object isa CODE ok 9 - valid semester works ok 10 - valid semester works ok 11 - Summer isn't Fall or Spring ok 12 - August isn't Fall or Spring ok 13 - The object isa CODE ok 14 - valid paydate works ok 15 - valid paydate works ok 16 - valid paydate works ok 17 - invalid paydate doesn't work ok 18 - The object isa CODE ok 19 - valid semiannual works ok 20 - valid semiannual works ok 21 - invalid semiannual doesn't work ok 22 - The object isa CODE ok 23 - valid quarterly works ok 24 - valid quarterly works ok 25 - valid quarterly works ok 26 - valid quarterly works ok 27 - invalid semiannual doesn't work ok 28 - The object isa CODE ok 29 - valid worker type works ok 30 - invalid worker type doesn't work ok 31 - The object isa CODE ok 32 - valid worker type works ok 33 - invalid worker type doesn't work ok 34 - The object isa CODE ok 35 - valid pay basis works ok 36 - invalid pay basis doesn't work ok 37 - invalid pay basis doesn't work ok 38 - The object isa CODE ok 39 - valid pay basis works ok 40 - invalid pay basis doesn't work ok 41 - invalid pay basis doesn't work ok 42 - The object isa CODE ok 43 - valid pay basis works ok 44 - invalid pay basis doesn't work ok 45 - invalid pay basis doesn't work ok 46 - The object isa CODE ok 47 - valid pay basis works ok 48 - invalid pay basis doesn't work ok 49 - invalid pay basis doesn't work ok 50 - The object isa CODE ok 51 - valid pay basis works ok 52 - invalid pay basis doesn't work ok 53 - invalid pay basis doesn't work ok 54 - The object isa CODE ok 55 - valid pay basis works ok 56 - invalid pay basis doesn't work ok 57 - invalid pay basis doesn't work ok 58 - The object isa CODE ok 59 - valid payment frequency works ok 60 - invalid payment frequency doesn't work ok 61 - invalid payment frequency doesn't work ok 62 - The object isa CODE ok 63 - valid payment frequency works ok 64 - invalid payment frequency doesn't work ok 65 - invalid payment frequency doesn't work ok 66 - The object isa CODE ok 67 - valid payment frequency works ok 68 - invalid payment frequency doesn't work ok 69 - invalid payment frequency doesn't work ok 70 - The object isa CODE ok 71 - Faculty 21 valid effective date works ok 72 - Faculty 21 invalid effective date doesn't work ok 73 - The object isa HASH ok 74 - Key 'message' exists in error hash ok 75 - The object isa CODE ok 76 - Faculty 26 valid effective date works ok 77 - Faculty 26 invalid effective date doesn't work ok 78 - The object isa HASH ok 79 - Key 'message' exists in error hash ok 80 - The object isa CODE ok 81 - Hourly valid effective date works ok 82 - Hourly invalid effective date doesn't work ok 83 - The object isa HASH ok 84 - Key 'message' exists in error hash ok 85 - The object isa CODE ok 86 - Hourly valid effective date works ok 87 - Salary invalid effective date doesn't work ok 88 - The object isa HASH ok 89 - Key 'message' exists in error hash ok 90 - The object isa CODE ok 91 - Hourly valid effective date works ok 92 - Fee invalid effective date doesn't work ok 93 - The object isa HASH ok 94 - Key 'message' exists in error hash ok 95 - The object isa CODE ok 96 - Quarterly valid effective date works ok 97 - Quarterly invalid effective date doesn't work ok 98 - The object isa HASH ok 99 - Key 'message' exists in error hash ok 100 - The object isa CODE ok 101 - Semi-annually valid effective date works ok 102 - Semi-annually invalid effective date doesn't work ok 103 - The object isa HASH ok 104 - Key 'message' exists in error hash ok 105 - The object isa CODE ok 106 - Single valid effective date works ok 107 - Single invalid effective date doesn't work ok 108 - The object isa HASH ok 109 - Key 'message' exists in error hash ok 110 - The object isa CODE ok 111 - Extra, Single valid effective date works ok 112 - Extra, Quarterly valid effective date works ok 113 - Extra, Semi-annually valid effective date works ok 114 - Single invalid effective date doesn't work ok 115 - The object isa HASH ok 116 - Key 'message' exists in error hash ok 117 - The object isa CODE ok 118 - Single valid effective date works ok 119 - hourly pay_basis doesn't work for Extra type ok 120 - Single invalid effective date doesn't work ok 121 - The object isa HASH ok 122 - Key 'message' exists in error hash ok 123 - The object isa CODE ok 124 - Faculty 21 Fall semester date works ok 125 - Faculty 26 Summer semester date works ok 126 - Faculty 21 Summer semester date doesn't work ok 127 - hourly pay_basis doesn't work for Extra type ok 128 - Single invalid effective date doesn't work ok 129 - The object isa HASH ok 130 - Key 'message' exists in error hash ok 131 - The object isa CODE ok 132 - Hourly Fall semester date works ok 133 - Hourly Bastille Day date works ok 134 - Salary 4th of July date works ok 135 - Extra Pearl Harbor Day doesn't work ok 136 - Single invalid effective date doesn't work ok 137 - The object isa HASH ok 138 - Key 'message' exists in error hash ok 139 - The object isa CODE ok 140 - Profile passes lint ok 141 - Results is an array reference isa ARRAY ok 142 - Results has same number of elements as profile 1..142 ok t\use_cases\foursquare...............................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Profile has no errors ok 4 - Error message for input lacking format brick ok 5 - explain() returns something ok 6 - Error message for input lacking format brick ok 7 - Results come back as array reference isa ARRAY ok 8 - Results come back as array reference isa Brick::Result ok 9 - Results has one element per Profile element 1..9 ok t\use_cases\top-level-errors.........................ok 1 - use Brick; ok 2 - The object isa Brick ok 3 - Profile has no errors ok 4 - Brick::Result ok 5 ok 6 ok 7 1..7 ok All tests successful. Files=60, Tests=953, 31 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU) Microsoft (R) Program Maintenance Utility Version 7.10.3077 Copyright (C) Microsoft Corporation. All rights reserved. Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Bucket.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Composers.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Constraints.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Dates.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Files.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Filters.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\General.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Numbers.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Profile.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Regexes.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Result.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Selectors.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Strings.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\Tutorial.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Brick\UserGuide.html Installing C:\cpanrun\build\5-10-0\site\lib\Brick.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Bucket.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Composers.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Constraints.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Dates.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Files.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Filters.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\General.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Numbers.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Profile.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Regexes.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Result.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Selectors.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Strings.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\Tutorial.pm Installing C:\cpanrun\build\5-10-0\site\lib\Brick\UserGuide.pm Appending installation info to C:\cpanrun\build\5-10-0\lib/perllocal.pod