From b7a564c9e4fa0c82b29bc336976c67ce49c685e9 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 4 Feb 2006 11:30:55 +0000 Subject: test per le risorse git-svn-id: svn://luxion/repos/WebCoso/trunk@144 fcb26f47-9200-0410-b104-b98ab5b095f3 --- t/04-resource.t | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 t/04-resource.t (limited to 't') diff --git a/t/04-resource.t b/t/04-resource.t new file mode 100644 index 0000000..05fd5b6 --- /dev/null +++ b/t/04-resource.t @@ -0,0 +1,41 @@ +#!/usr/bin/perl +use strict; +use warnings; +use Test::More 'no_plan'; +use Test::Exception; + +BEGIN { use_ok('WebCoso::Resource'); } + +my $r=WebCoso::Resource->new(); + +isa_ok($r,'WebCoso::Resource'); + +$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'); + +$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'); + +$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'); + +$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'); + +$r->set_property({a1=>2},prop2=>'v2'); +ok(! defined $r->get_property('prop2'),'undef on generalization'); +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'); + +$r->set_property({a1=>1,a2=>2},prop3=>'vx'); +ok(! defined $r->get_property({a1=>1},'prop3'),'undef on generalization, 2'); -- cgit v1.2.3