1use strict;
2use warnings;
3
4use Test::More;
5use Test::Differences;
6use Test::Exception;
7
8use autobox::Core;
9
10use lib "lib";
11use autobox::Transform;
12
13use lib "t/lib";
14use Literature;
15
16my $literature = Literature::literature();
17my $authors    = $literature->{authors};
18
19subtest uniq_by => sub {
20    note "ArrayRef call, list context result";
21    eq_or_diff(
22        [ map { $_->name } $authors->uniq_by("is_prolific") ],
23        [
24            "James A. Corey", # true
25            "Cixin Liu",      # false
26        ],
27        "uniq_by simple method call works",
28    );
29
30    eq_or_diff(
31        [ map { $_->name } $authors->uniq_by([ "is_prolific" ]) ],
32        [
33            "James A. Corey", # true
34            "Cixin Liu",      # false
35        ],
36        "uniq_by simple method call works",
37    );
38};
39
40
41
42done_testing();
43