view lib/IMPL/Test/Result.pm @ 410:9335cf010b23 ref20150831

refactoring
author cin
date Mon, 14 Sep 2015 01:11:53 +0300
parents c6e90e02dd17
children
line wrap: on
line source

package IMPL::Test::Result;
use strict;
use warnings;

use IMPL::Const qw(:prop);
use IMPL::declare {
	base => [
		'IMPL::Object' => undef,
		'IMPL::Object::Serializable' => '@_'
	],
	props => [
		name => PROP_RW,
		state => PROP_RW,
		exception => PROP_RW,
		timeExclusive => PROP_RW,
		timeInclusive => PROP_RW
	]
};

__PACKAGE__->PassThroughArgs;

use constant {
    SUCCESS => 0,
    FAIL => 1,
    ERROR => 2
};

sub CTOR {
    my $this = shift;
    
    my $fields = @_ == 1 ? $_[0] : {@_};
    
    $fields->{timeExclusive} ||= 0;
    $fields->{timeInclusive} ||= 0;
    
    while (my ($k,$v) = each %$fields) {
    	$this->$k($v);
    }
}


1;