From 814d74f02c0b9f32acb4fc23f9fbf352c7d2511d Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Thu, 2 Jul 2020 23:58:29 +0100 Subject: - Tidied up return value. --- challenge-067/mohammad-anwar/perl/ch-1.pl | 4 ++-- challenge-067/mohammad-anwar/perl/ch-1a.pl | 35 ++++++++++++------------------ 2 files changed, 16 insertions(+), 23 deletions(-) diff --git a/challenge-067/mohammad-anwar/perl/ch-1.pl b/challenge-067/mohammad-anwar/perl/ch-1.pl index 2763293426..40db68269d 100644 --- a/challenge-067/mohammad-anwar/perl/ch-1.pl +++ b/challenge-067/mohammad-anwar/perl/ch-1.pl @@ -49,9 +49,9 @@ sub comb { foreach my $member (@combinations) { my @uniq = uniq split //, $member; next unless (@uniq == $n); - $filter{ join ', ', sort @uniq } = 1; + $filter{ sprintf("[%s]", join ', ', sort @uniq) } = 1; } # return sorted result - return (sort keys %filter); + return sprintf("[ %s ]", join ', ', (sort keys %filter)); } diff --git a/challenge-067/mohammad-anwar/perl/ch-1a.pl b/challenge-067/mohammad-anwar/perl/ch-1a.pl index ed3a93589c..b196cc039f 100644 --- a/challenge-067/mohammad-anwar/perl/ch-1a.pl +++ b/challenge-067/mohammad-anwar/perl/ch-1a.pl @@ -12,27 +12,20 @@ use strict; use warnings; use Test::More; -use Test::Deep; use List::Util qw(uniq); -is_deeply( [ comb(5, 2) ], - [ '1, 2', '1, 3', '1, 4', '1, 5', - '2, 3', '2, 4', '2, 5', - '3, 4', '3, 5', - '4, 5' ], - 'testing m=5; n=2' ); -is_deeply( [ comb(5, 3) ], - [ '1, 2, 3', '1, 2, 4', '1, 2, 5', '1, 3, 4', '1, 3, 5', '1, 4, 5', - '2, 3, 4', '2, 3, 5', '2, 4, 5', - '3, 4, 5' ], - 'testing m=5; n=3' ); -is_deeply( [ comb(5, 4) ], - [ '1, 2, 3, 4', '1, 2, 3, 5', '1, 2, 4, 5', '1, 3, 4, 5', - '2, 3, 4, 5' ], - 'testing m=5; n=4' ); -is_deeply( [ comb(5, 5) ], - [ '1, 2, 3, 4, 5' ], - 'testing m=5; n=5' ); +is( comb(5, 2), + '[ [1, 2], [1, 3], [1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [3, 4], [3, 5], [4, 5] ]', + 'testing m=5; n=2' ); +is( comb(5, 3), + '[ [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 3, 4], [1, 3, 5], [1, 4, 5], [2, 3, 4], [2, 3, 5], [2, 4, 5], [3, 4, 5] ]', + 'testing m=5; n=3' ); +is( comb(5, 4), + '[ [1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 4, 5], [1, 3, 4, 5], [2, 3, 4, 5] ]', + 'testing m=5; n=4' ); +is( comb(5, 5), + '[ [1, 2, 3, 4, 5] ]', + 'testing m=5; n=5' ); done_testing; @@ -68,9 +61,9 @@ sub comb { foreach my $member (@combinations) { my @uniq = uniq split //, $member; next unless (@uniq == $n); - $filter{ join ', ', sort @uniq } = 1; + $filter{ sprintf("[%s]", join ', ', sort @uniq) } = 1; } # return sorted result - return (sort keys %filter); + return sprintf("[ %s ]", join ', ', (sort keys %filter)); } -- cgit