comparison Lib/IMPL/Test.pm @ 3:2e546a5175dd

in developing
author Sergey
date Tue, 11 Aug 2009 17:45:52 +0400
parents 03e58a454b20
children 16ada169ca75
comparison
equal deleted inserted replaced
2:78cd38551534 3:2e546a5175dd
2 use strict; 2 use strict;
3 use warnings; 3 use warnings;
4 4
5 require Exporter; 5 require Exporter;
6 our @ISA = qw(Exporter); 6 our @ISA = qw(Exporter);
7 our @EXPORT_OK = qw(&test &shared); 7 our @EXPORT_OK = qw(&test &shared &failed &cmparray);
8 8
9 require IMPL::Test::Unit; 9 require IMPL::Test::Unit;
10 use IMPL::Class::Member; 10 use IMPL::Class::Member;
11 11
12 sub test($$) { 12 sub test($$) {
27 die new IMPL::Exception("You can't mark the readonly property as shared",$propInfo->Name) unless $propInfo->canSet; 27 die new IMPL::Exception("You can't mark the readonly property as shared",$propInfo->Name) unless $propInfo->canSet;
28 die new IMPL::Exception("Only public properties could be declared as shared",$propInfo->Name) unless $propInfo->Access == IMPL::Class::Member::MOD_PUBLIC; 28 die new IMPL::Exception("Only public properties could be declared as shared",$propInfo->Name) unless $propInfo->Access == IMPL::Class::Member::MOD_PUBLIC;
29 29
30 $class->set_meta(new IMPL::Test::Unit::SharedData($propInfo->Name)); 30 $class->set_meta(new IMPL::Test::Unit::SharedData($propInfo->Name));
31 } 31 }
32
33 sub failed($;@) {
34 die new IMPL::Test::FailException(@_);
35 }
36
37 sub cmparray {
38 my ($a,$b) = @_;
39
40 return 0 unless @$a == @$b;
41
42 for (my $i=0; $i < @$a; $i++ ) {
43 return 0 unless $a->[$i] eq $b->[$i];
44 }
45
46 return 1;
47 }
32 1; 48 1;