diff options
author | Patrick Spek <p.spek@tyil.nl> | 2018-07-08 17:37:25 +0200 |
---|---|---|
committer | Patrick Spek <p.spek@tyil.nl> | 2018-07-08 17:37:25 +0200 |
commit | 281408b4852ae74af28ecc8f1c03457c766136b8 (patch) | |
tree | d69ee97fc6be2032017621bab7ef0dc84102a5ec /t/simple-blocks.t | |
parent | d0e8f0c0b9814d93625dfd18d0e552f0966c560f (diff) |
Initial release
Diffstat (limited to 't/simple-blocks.t')
-rw-r--r-- | t/simple-blocks.t | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/t/simple-blocks.t b/t/simple-blocks.t new file mode 100644 index 0000000..b52e721 --- /dev/null +++ b/t/simple-blocks.t @@ -0,0 +1,70 @@ +#! /usr/bin/env perl6 + +use v6.c; + +use String::Fold; +use Test; + +plan 5; + +subtest "Empty string" => { + plan 1; + + my Str $result = fold(""); + + is $result, "", "Empty string returns another empty string"; +} + +subtest "Single short line" => { + plan 1; + + my $result = slurp("t/files/input/single-short-line.txt").trim.&fold; + + is $result, slurp("t/files/output/single-short-line.txt").trim, "Short line returns the same short line"; +} + +subtest "Single long line" => { + plan 1; + + my $result = slurp("t/files/input/single-long-line.txt").trim.&fold(); + my @expected-lines = slurp("t/files/output/single-long-line.txt").trim.lines; + my @result-lines = $result.lines; + + plan 1 + @expected-lines.elems; + + is @result-lines.elems, @expected-lines.elems, "Expected {@result-lines.elems} lines"; + + for ^@expected-lines { + is @result-lines[$_], @expected-lines[$_], "Line {$_ + 1} is correct"; + } +} + +subtest "Multiple short lines" => { + my $result = slurp("t/files/input/multiple-short-lines.txt").trim.&fold(); + my @expected-lines = slurp("t/files/output/multiple-short-lines.txt").trim.lines; + my @result-lines = $result.lines; + + plan 1 + @expected-lines.elems; + + is @result-lines.elems, @expected-lines.elems, "Expected {@result-lines.elems} lines"; + + for ^@expected-lines { + is @result-lines[$_], @expected-lines[$_], "Line {$_ + 1} is correct"; + } +} + +subtest "Multiple long lines" => { + my $result = slurp("t/files/input/multiple-long-lines.txt").trim.&fold(); + my @expected-lines = slurp("t/files/output/multiple-long-lines.txt").trim.lines; + my @result-lines = $result.lines; + + plan 1 + @expected-lines.elems; + + is @result-lines.elems, @expected-lines.elems, "Expected {@result-lines.elems} lines"; + + for ^@expected-lines { + is @result-lines[$_], @expected-lines[$_], "Line {$_ + 1} is correct"; + } +} + +# vim: ft=perl6 noet |