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