diff options
author | dakkar <dakkar@luxion> | 2006-02-04 11:38:38 +0000 |
---|---|---|
committer | dakkar <dakkar@luxion> | 2006-02-04 11:38:38 +0000 |
commit | f865f30f1f95dcaafeca6a5895017d40b4409a12 (patch) | |
tree | 025627e8d5fc14bc1b6d087464b48d914b9f2f32 | |
parent | test per le risorse (diff) | |
download | WebCoso-f865f30f1f95dcaafeca6a5895017d40b4409a12.tar.gz WebCoso-f865f30f1f95dcaafeca6a5895017d40b4409a12.tar.bz2 WebCoso-f865f30f1f95dcaafeca6a5895017d40b4409a12.zip |
passa 1 test
git-svn-id: svn://luxion/repos/WebCoso/trunk@145 fcb26f47-9200-0410-b104-b98ab5b095f3
-rw-r--r-- | lib/WebCoso/Resource.pm | 20 | ||||
-rw-r--r-- | t/04-resource.t | 13 |
2 files changed, 33 insertions, 0 deletions
diff --git a/lib/WebCoso/Resource.pm b/lib/WebCoso/Resource.pm new file mode 100644 index 0000000..39179fe --- /dev/null +++ b/lib/WebCoso/Resource.pm @@ -0,0 +1,20 @@ +package WebCoso::Resource; +use strict; +use warnings; +use Class::Std; +#use WebCoso::X; + +{ +my %values_of :ATTR(:default<{}>); +my %axes_of :ATTR(:default<{}>); + +sub get_axes { + my ($self)=@_; + + return keys %{$axes_of{ident $self}}; +} + + +} + +1; diff --git a/t/04-resource.t b/t/04-resource.t index 05fd5b6..99e7cf3 100644 --- a/t/04-resource.t +++ b/t/04-resource.t @@ -10,25 +10,32 @@ my $r=WebCoso::Resource->new(); isa_ok($r,'WebCoso::Resource'); +is_deeply([$r->get_axes()],[],'no axes'); + $r->set_property(prop1=>'value1'); is($r->get_property('prop1'),'value1','simple global'); is($r->get_property({},'prop1'),'value1','explicit global'); is($r->get_property({a1=>1,a2=>3},'prop1'),'value1','over global'); +is_deeply([$r->get_axes()],[],'no axes'); $r->set_property(prop1=>'value2'); is($r->get_property('prop1'),'value2','simple global redef'); is($r->get_property({},'prop1'),'value2','explicit global redef'); is($r->get_property({a1=>1,a2=>3},'prop1'),'value2','over global redef'); +is_deeply([$r->get_axes()],[],'no axes'); $r->set_property({},prop1=>'value3'); is($r->get_property('prop1'),'value3','simple global redef'); is($r->get_property({},'prop1'),'value3','explicit global redef'); is($r->get_property({a1=>1,a2=>3},'prop1'),'value3','over global redef'); +is_deeply([$r->get_axes()],[],'no axes'); $r->set_property({a1=>3},prop2=>'v1'); ok(! defined $r->get_property('prop2'),'undef on generalization'); is($r->get_property({a1=>3},'prop2'),'v1','specific'); is($r->get_property({a1=>3,a2=>3},'prop2'),'v1','over specific'); +is_deeply([$r->get_axes()],['a1'],'1 axis'); +is_deeply([$r->get_axis_values('a1')],[3],'1 axis, 1 value'); $r->set_property({a1=>2},prop2=>'v2'); ok(! defined $r->get_property('prop2'),'undef on generalization'); @@ -36,6 +43,12 @@ is($r->get_property({a1=>3},'prop2'),'v1','specific, oldval'); is($r->get_property({a1=>3,a2=>3},'prop2'),'v1','over specific, oldval'); is($r->get_property({a1=>2},'prop2'),'v2','specific, newval'); is($r->get_property({a1=>2,a2=>3},'prop2'),'v2','over specific, newval'); +is_deeply([$r->get_axes()],['a1'],'1 axis'); +is_deeply([sort $r->get_axis_values('a1')],[2,3],'1 axis, 2 values'); $r->set_property({a1=>1,a2=>2},prop3=>'vx'); ok(! defined $r->get_property({a1=>1},'prop3'),'undef on generalization, 2'); +is_deeply([sort $r->get_axes()],['a1','a2'],'2 axes'); +is_deeply([sort $r->get_axis_values('a1')],[1,2,3],'1st axis, 3 values'); +is_deeply([sort $r->get_axis_values('a2')],[2],'2nd axis, 1 value'); + |