#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
use above 'UR';
use Test::More;
class Base {
is => 'UR::Object',
subclass_description_preprocessor => 'Base::_preprocess',
subclassify_by => 'subclass_name',
};
package Base;
sub _preprocess {
my ($class, $desc) = @_;
my $count_prop = $desc->{has}{count};
$desc->{has}{extra_property} = {
is => 'Number',
data_type => 'Number',
property_name => 'extra_property',
class_name => $count_prop->{class_name},
};
return $desc;
}
package main;
eval {
class Derived {
is => 'Base',
has => [
count => {
is => 'Number',
},
],
};
};
ok($@, "specifying redundant/ambiguous properties via preprocessing is an error");
done_testing();