From 52f0922230bfc9ef7949656cfae1cc52f234d636 Mon Sep 17 00:00:00 2001 From: Jörg Sommrey <28217714+jo-37@users.noreply.github.com> Date: Fri, 30 Dec 2022 16:16:31 +0100 Subject: Solution to task 1 --- challenge-197/jo-37/perl/ch-1.pl | 59 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 challenge-197/jo-37/perl/ch-1.pl diff --git a/challenge-197/jo-37/perl/ch-1.pl b/challenge-197/jo-37/perl/ch-1.pl new file mode 100755 index 0000000000..3a9bdb9c70 --- /dev/null +++ b/challenge-197/jo-37/perl/ch-1.pl @@ -0,0 +1,59 @@ +#!/usr/bin/perl -s + +use v5.16; +use Test2::V0; + +our ($tests, $examples); + +run_tests() if $tests || $examples; # does not return + +die < Date: Fri, 30 Dec 2022 16:16:53 +0100 Subject: Solution to task 2 --- challenge-197/jo-37/perl/ch-2.pl | 68 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 challenge-197/jo-37/perl/ch-2.pl diff --git a/challenge-197/jo-37/perl/ch-2.pl b/challenge-197/jo-37/perl/ch-2.pl new file mode 100755 index 0000000000..413ed8d0b0 --- /dev/null +++ b/challenge-197/jo-37/perl/ch-2.pl @@ -0,0 +1,68 @@ +#!/usr/bin/perl -s + +use v5.16; +use Test2::V0; +use List::MoreUtils qw(zip part); + +our ($tests, $examples); + +run_tests() if $tests || $examples; # does not return + +die < $a} @_ + ))[0 .. $#_]; +} + + +### Examples and tests + +sub run_tests { + SKIP: { + skip "examples" unless $examples; + is [wiggle_sort(qw(1 5 1 1 6 4))], [qw(1 6 1 5 1 4)], 'example 1'; + is [wiggle_sort(qw(1 3 2 2 3 1))], [qw(2 3 1 3 1 2)], 'example 2'; + } + + SKIP: { + skip "tests" unless $tests; + is [wiggle_sort(qw(1 2 3 4 5))], [qw(3 5 2 4 1)], 'odd size'; + is [(wiggle_sort(qw(1 1 1 1 1 2 3 4)))[6, 7]], [1, 1], '1 violates'; + is [(wiggle_sort(qw(1 2 3 4 4 4 4)))[0, 1]], [4, 4], '4 violates'; + is [wiggle_sort(-1, 0, 1)], [0, 1, -1], 'negative'; + } + + done_testing; + exit; +} -- cgit