#!/usr/bin/perl use strict; use warnings; use Test::More; use lib qw(t/lib); use BitStreamTest; my @implementations = impl_list; my @encodings = encoding_list; plan tests => scalar @encodings; foreach my $encoding (@encodings) { subtest "$encoding" => sub { test_encoding($encoding); }; } done_testing(); sub test_encoding { my $encoding = shift; plan tests => scalar @implementations; foreach my $type (@implementations) { my $stream = stream_encode_array($type, $encoding, 0); BAIL_OUT("No stream of type $type") unless defined $stream; my @v = stream_decode_array($encoding, $stream); ok( (scalar @v == 1) && ($v[0] == 0) , "$encoding stream 0 using $type"); } }