Data-Hopen

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "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",

META.yml  view on Meta::CPAN

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:

cpanfile  view on Meta::CPAN

    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 ==');



( run in 2.728 seconds using v1.01-cache-2.11-cpan-54e63673c56 )