view release on metacpan or search on metacpan
"warnings" : "0"
}
},
"test" : {
"requires" : {
"Capture::Tiny" : "0",
"List::AutoNumbered" : "0.000009",
"Quote::Code" : "1.0102",
"Sub::Identify" : "0.14",
"Test::Deep" : "0.098",
"Test::Fatal" : "0.014",
"Test::More" : "0",
"Test::UseAllModules" : "0.17",
"Test::Warn" : "0.35",
"rlib" : "0"
}
}
},
"provides" : {
"Data::Hopen" : {
"file" : "lib/Data/Hopen.pm",
build_requires:
Capture::Tiny: '0'
Getopt::Long: '0'
List::AutoNumbered: '0.000009'
Path::Class: '0.37'
Pod::Markdown: '0'
Pod::Text: '0'
Quote::Code: '1.0102'
Sub::Identify: '0.14'
Test::Deep: '0.098'
Test::Fatal: '0.014'
Test::More: '0'
Test::UseAllModules: '0.17'
Test::Warn: '0.35'
rlib: '0'
configure_requires:
Module::Build::Tiny: '0.035'
dynamic_config: 0
generated_by: 'Minilla/v3.1.999, CPAN::Meta::Converter version 2.150010'
license: bsd
meta-spec:
requires 'Pod::Markdown';
requires 'Pod::Text';
};
on test => sub {
requires 'Capture::Tiny';
requires 'List::AutoNumbered', '0.000009';
requires 'Quote::Code', '1.0102';
requires 'Sub::Identify', '0.14';
requires 'Test::Deep', '0.098';
requires 'Test::Fatal', '0.014';
requires 'Test::More';
requires 'Test::UseAllModules', '0.17';
requires 'Test::Warn', '0.35';
requires 'rlib';
};
on develop => sub {
requires 'App::RewriteVersion';
requires 'CPAN::Meta';
requires 'File::Slurp', '9999.26';
t/000-class.t view on Meta::CPAN
#!perl
# 000-class.t: test Data::Hopen::Class
use rlib 'lib';
use HopenTest;
use Test::Fatal;
{
package Sample;
use parent 'Data::Hopen::Class'; # abort if we can't
use Class::Tiny qw(first second);
}
# Basics
my $e = Sample->new(first => 'val');
ok($e->can('BUILDARGS'), 'class can(BUILDARGS)');
t/001-entity.t view on Meta::CPAN
#!perl
# 001-entity.t: test Entity
use rlib 'lib';
use HopenTest;
use Test::Fatal;
use Data::Hopen::G::Entity; # abort if we can't
# Basics
my $e = Data::Hopen::G::Entity->new(name=>'foo');
isa_ok($e, 'Data::Hopen::G::Entity');
is($e->name, 'foo', 'Name was set by constructor');
$e->name('bar');
is($e->name, 'bar', 'Name was set by accessor');
t/003-node.t view on Meta::CPAN
#!perl
# 003-node.t: test Data::Hopen::G::Node
use rlib 'lib';
use HopenTest;
use Test::Fatal;
use Data::Hopen::G::Node;
my $e = Data::Hopen::G::Node->new(name=>'foo');
isa_ok($e, 'Data::Hopen::G::Node');
is($e->name, 'foo', 'Name was set by constructor');
$e->name('bar');
is($e->name, 'bar', 'Name was set by accessor');
done_testing();
t/004-goal.t view on Meta::CPAN
#!perl
# 004-goal.t: test Data::Hopen::G::Goal
use rlib 'lib';
use HopenTest;
use Data::Hopen ':all';
use Capture::Tiny qw(capture_stderr);
use Test::Fatal;
use Data::Hopen::G::Goal;
use Data::Hopen::Scope::Hash;
# Creation
my $e = Data::Hopen::G::Goal->new(name=>'foo');
isa_ok($e, 'Data::Hopen::G::Goal');
is($e->name, 'foo', 'Name was set by constructor');
$e->name('bar');
is($e->name, 'bar', 'Name was set by accessor');
t/008-nameset.t view on Meta::CPAN
#!perl
# t/007-nameset.t: test Data::Hopen::Util::NameSet
use rlib 'lib';
use HopenTest;
use Test::Fatal;
use Data::Hopen::Util::NameSet;
my $s;
# Run the tests twice: once without add() and once with add().
for ( my $iter = 0 ; $iter < 2 ; ++$iter ) {
# Set up this iter's test object
if ( $iter == 0 ) {
t/010-scope-hash.t view on Meta::CPAN
#!perl
# t/010-scope-hash.t: test Data::Hopen::Scope::Hash
use rlib 'lib';
use HopenTest 'Data::Hopen::Scope::Hash';
use Test::Fatal;
use Data::Hopen::Scope;
sub makeset {
my $set = Set::Scalar->new;
$set->insert(@_);
return $set;
}
# --- creation, put, and get -----------------------------------------
my $s = $DUT->new();
t/011-scope-env.t view on Meta::CPAN
#!perl
# t/011-scope-env.t: test Data::Hopen::Scope::Environment
use rlib 'lib';
use HopenTest;
use Data::Hopen::Scope;
use Data::Hopen::Scope::Hash;
use Test::Fatal;
$Data::Hopen::VERBOSE=@ARGV;
# say `perl -Ilib t/011-scope-env.t -- foo` to turn on verbose output
use Data::Hopen::Scope::Environment;
my $s = Data::Hopen::Scope::Environment->new();
isa_ok($s, 'Data::Hopen::Scope::Environment');
ok($s->DOES('Data::Hopen::Scope'), 'Scope::Environment DOES Scope');
t/030-ordered_pred.t view on Meta::CPAN
#!perl
# t\030-ordered_pred.t: tests of Data::Hopen::OrderedPredecessorGraph
use rlib 'lib';
use HopenTest;
use Test::Fatal;
use Data::Hopen::OrderedPredecessorGraph;
basic();
undef_order();
add_edge();
done_testing();
sub basic {
my $g2 = Data::Hopen::OrderedPredecessorGraph->new;
t/050-runnable.t view on Meta::CPAN
#!perl
# 050-runnable.t: Tests of D::H::G::Runnable functions not covered elsewhere
use rlib 'lib';
use HopenTest;
use Test::Fatal;
use Data::Hopen::Scope::Hash;
{
package DummyRunnable;
use strict; use warnings;
use Data::Hopen;
use parent 'Data::Hopen::G::Runnable';
use Class::Tiny { oops => !!0 };
sub _run {
my ($self, %args) = getparameters('self', [qw(*)], @_);
t/120-dag.t view on Meta::CPAN
#!perl
# 120-dag.t: basic tests of Data::Hopen::G::DAG
use rlib 'lib';
use HopenTest;
use Test::Deep::NoTest; # NoTest since I am using eq_deeply directly
use Test::Fatal;
use Data::Hopen qw(:v);
use Data::Hopen::G::DAG;
use Data::Hopen::G::Op;
use Data::Hopen::G::NoOp;
diag "Testing Data::Hopen::G::DAG from $INC{'Data/Hopen/G/DAG.pm'}";
my $dag = Data::Hopen::G::DAG->new(name=>'foo');
isa_ok($dag, 'Data::Hopen::G::DAG');
t/124-dag-merge-node-inputs.t view on Meta::CPAN
#!perl
# t/124-dag-merge.t: test Data::Hopen::G::DAG's warnings on _run()
use rlib 'lib';
use HopenTest;
use Test::Fatal;
use Data::Hopen;
use Data::Hopen::Scope::Hash;
use Data::Hopen::Scope::Environment;
use Data::Hopen::G::Link;
$Data::Hopen::VERBOSE = 10; # for coverage
run();
done_testing();
t/125-dag-links.t view on Meta::CPAN
#!perl
# t/124-dag-merge.t: test Data::Hopen::G::DAG's warnings on _run()
use rlib 'lib';
use HopenTest;
use Test::Fatal;
use Data::Hopen;
use Data::Hopen::Scope::Hash;
use Data::Hopen::Scope::Environment;
use Data::Hopen::G::Link;
$Data::Hopen::VERBOSE = 10; # for coverage
run();
done_testing();
t/999-extras-for-coverage.t view on Meta::CPAN
sub new {
return undef
}
}
BEGIN { $INC{'MY/ReturnsFalsyInstance.pm'} = 1; }
package TestDataHopen {
use Data::Hopen ':all';
use HopenTest;
use Capture::Tiny qw(capture_stderr);
use Test::Fatal;
use List::AutoNumbered;
use Quote::Code;
sub test_hnew {
like exception { hnew(); }, qr/Need a class/, 'hnew() throws';
like exception { hnew('Data::Hopen::DOES_NOT_EXIST_TEST_ONLY'); },
qr/Could not find class/, 'hnew(<nonexistent>) throws';
like exception { hnew('MY::ReturnsFalsyInstance') },
qr/Could not create instance/, 'hnew(<existent but falsy>) throws';
t/999-extras-for-coverage.t view on Meta::CPAN
test_loadfrom;
test_hlog;
}
} #package DH
package TestDataHopenScope {
use Data::Hopen ':all';
use Data::Hopen::Scope;
use HopenTest;
use Capture::Tiny qw(capture_stderr);
use Test::Fatal;
sub run {
my $dut = Data::Hopen::Scope->new;
foreach my $method (qw(put merge _names_here _find_here)) {
like exception { $dut->$method; }, qr/Unimplemented/,
"abstract $method dies";
}
}
} #package DHScope
package TestDataHopenGOutputOp {
use HopenTest;
use Capture::Tiny;
use Test::Fatal;
use Data::Hopen 'hnew';
use Data::Hopen::G::OutputOp;
sub run {
like exception { Data::Hopen::G::OutputOp::_run() },
qr/Need an instance/, '_run() croaks absent instance';
my $e = hnew OutputOp => 'a name', output => [];
isa_ok($e, 'Data::Hopen::G::OutputOp');
like exception { $e->run },
qr/output is not a hashref/,
'D::H::G::OutputOp requires a hashref';
}
} #package DHGOO
package TestDataHopenGNode {
use HopenTest;
use Capture::Tiny;
use Test::Fatal;
use Data::Hopen 'hnew';
use Data::Hopen::G::Node;
sub run {
# Invalid invocations
like(exception { Data::Hopen::G::Node::outputs() },
qr/Need an instance/,
'outputs() dies without $self');
t/999-extras-for-coverage.t view on Meta::CPAN
delete $n->{outputs} if exists $n->{outputs};
is_deeply $n->outputs, {}, 'Node->outputs defaults to {}';
}
} #package DHGN
package TestDataHopenUtilData {
use HopenTest;
use Data::Hopen::Util::Data qw(boolify clone dedent forward_opts);
use List::AutoNumbered;
use Scalar::Util qw(refaddr);
use Test::Fatal;
my @TESTS;
push @TESTS, sub { # boolify
ok(boolify($_), "$_ -> truthy") foreach qw(1 true yes on);
ok(!boolify($_), ($_//'<undef>') . " -> falsy")
foreach (qw(false off no), 0, undef);
};
push @TESTS, sub { # clone
cmp_ok(clone(42), '==', 42, 'Clone ==');