1use strict;
2use warnings;
3
4package Test::Deep::Boolean;
5
6use Test::Deep::Cmp;
7
8sub init
9{
10	my $self = shift;
11
12	$self->{val} = shift() ? 1 : 0;
13}
14
15sub descend
16{
17	my $self = shift;
18	my $got = shift;
19
20	return !( $got xor $self->{val} );
21}
22
23sub diag_message
24{
25	my $self = shift;
26	my $where = shift;
27	return "Comparing $where as a boolean";
28}
29
30sub renderExp
31{
32	my $self = shift;
33
34	$self->renderGot($self->{val});
35}
36
37sub renderGot
38{
39	my $self = shift;
40
41	my $val = shift;
42
43	return ($val ? "true" : "false")." (".Test::Deep::render_val($val).")";
44}
45
461;
47