#!/usr/bin/perl -w
use strict;
use Test::More tests => 6;
use Data::Bind;
my $db_formalize_sig = Data::Bind->sig
({ var => '$title' },
{ var => '$subtitle' },
{ var => '$case', named_only => 1 },
{ var => '$justify', named_only => 1 });
#warn Dumper($db_formalize_sig);
is( $db_formalize_sig->is_compatible
([\'this is title', \'subtitle'], { case => \'blah'}),
1 );
is( $db_formalize_sig->is_compatible
([\'this is title', \'subtitle'], { justify => \'blah'}),
1 );
is( $db_formalize_sig->is_compatible([\'this is title'], { justify => \'blah'}),
0);
$db_formalize_sig = Data::Bind->sig
({ var => '$title' },
{ var => '$subtitle', optional => 1 },
{ var => '$case', named_only => 1 },
{ var => '$justify', named_only => 1, required => 1});
is($db_formalize_sig->is_compatible([\'this is title'], { justify => \'blah'}),
1);
is($db_formalize_sig->is_compatible([], { title => \'title by name', justify => \'blah'}),
1);
is( $db_formalize_sig->is_compatible([\'this is title'], { case => \'blah'}),
0);
syntax highlighted by Code2HTML, v. 0.9.1