The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

use strict;
use lib 't/lib';
require_ok 'JSON::TypeInference::Type::Maybe';
subtest '#looks_like_maybe' => sub {
my $string = JSON::TypeInference::Type::String->new;
my $number = JSON::TypeInference::Type::Number->new;
my $null = JSON::TypeInference::Type::Null->new;
subtest 'not maybe' => sub {
ok ! JSON::TypeInference::Type::Maybe->looks_like_maybe([ $string ]);
ok ! JSON::TypeInference::Type::Maybe->looks_like_maybe([ $string, $number ]);
ok ! JSON::TypeInference::Type::Maybe->looks_like_maybe([ $null, $string, $number ]);
};
subtest 'maybe' => sub {
ok JSON::TypeInference::Type::Maybe->looks_like_maybe([ $null, $number ]);
};
};
done_testing;