1#!/usr/bin/perl 2 3use Test; 4BEGIN { plan tests => 11 } 5 6######################################################################## 7 8package MyClass; 9sub new { my $class = shift; bless { @_ }, $class } 10 11package MySubclass; 12@ISA = 'MyClass'; 13 14######################################################################## 15 16package main; 17 18use Class::MakeMethods::Utility::Inheritable qw( get_vvalue set_vvalue ); 19 20ok(1); 21 22######################################################################## 23 24my $obj = MyClass->new(); 25my $sobj = MySubclass->new(); 26 27my $dataset = {}; 28 29ok( ! defined get_vvalue($dataset, 'MyClass') ); 30set_vvalue($dataset, 'MyClass', 'Foobar'); 31ok( get_vvalue($dataset, 'MyClass') eq 'Foobar' ); 32 33ok( get_vvalue($dataset, $obj) eq 'Foobar' ); 34set_vvalue($dataset, $obj, 'Foible'); 35ok( get_vvalue($dataset, $obj) eq 'Foible' ); 36 37ok( get_vvalue($dataset, 'MySubclass') eq 'Foobar' ); 38ok( get_vvalue($dataset, $sobj) eq 'Foobar' ); 39set_vvalue($dataset, 'MySubclass', 'Foozle'); 40ok( get_vvalue($dataset, 'MySubclass') eq 'Foozle' ); 41ok( get_vvalue($dataset, 'MyClass') eq 'Foobar' ); 42 43ok( get_vvalue($dataset, $sobj) eq 'Foozle' ); 44set_vvalue($dataset, $sobj, 'Frosty'); 45ok( get_vvalue($dataset, $sobj) eq 'Frosty' ); 46 47######################################################################## 48 491; 50