AI-Evolve-Befunge

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

        'Algorithm::Evolutionary::Wheel'               => 0,
        'aliased'                                      => 0,
        'Class::Accessor::Fast'                        => 0,
        'Language::Befunge'                            => '4.10',
        'Language::Befunge::Storage::Generic::Vec::XS' => '0.02',
        'Language::Befunge::Vector::XS'                => '1.1.0',
        'LWP::UserAgent'                               => 0,
        'Parallel::Iterator'                           => 0,
        'Perl6::Export::Attrs'                         => 0,
        'Task::Weaken'                                 => 0,
        'Test::Exception'                              => 0,
        'Test::MockRandom'                             => 0,
        'Test::Output'                                 => 0,
        'UNIVERSAL::require'                           => 0,
        'YAML'                                         => 0,
    },
    module_name  => 'AI::Evolve::Befunge',
    license      => 'artistic_2',
    create_makefile_pl => 'traditional',
    script_files       => [qw(tools/evolve tools/migrationd)],
    dist_author        => 'Mark Glines <mark@glines.org>',
    dist_version_from  => 'lib/AI/Evolve/Befunge.pm',
    dist_abstract      => 'practical evolution of Befunge AI programs'

META.yml  view on Meta::CPAN

requires:
  Algorithm::Evolutionary::Wheel: 0
  Class::Accessor::Fast: 0
  LWP::UserAgent: 0
  Language::Befunge: 4.10
  Language::Befunge::Storage::Generic::Vec::XS: 0.02
  Language::Befunge::Vector::XS: 1.1.0
  Parallel::Iterator: 0
  Perl6::Export::Attrs: 0
  Task::Weaken: 0
  Test::Exception: 0
  Test::MockRandom: 0
  Test::Output: 0
  UNIVERSAL::require: 0
  YAML: 0
  aliased: 0
  perl: 5.10.0
provides:
  AI::Evolve::Befunge:
    file: lib/AI/Evolve/Befunge.pm
    version: 0.03
  AI::Evolve::Befunge::Blueprint:
    file: lib/AI/Evolve/Befunge/Blueprint.pm

Makefile.PL  view on Meta::CPAN

          'PREREQ_PM' => {
                           'Algorithm::Evolutionary::Wheel' => 0,
                           'Class::Accessor::Fast' => 0,
                           'LWP::UserAgent' => 0,
                           'Language::Befunge' => '4.10',
                           'Language::Befunge::Storage::Generic::Vec::XS' => '0.02',
                           'Language::Befunge::Vector::XS' => '1.1.0',
                           'Parallel::Iterator' => 0,
                           'Perl6::Export::Attrs' => 0,
                           'Task::Weaken' => 0,
                           'Test::Exception' => 0,
                           'Test::MockRandom' => 0,
                           'Test::Output' => 0,
                           'UNIVERSAL::require' => 0,
                           'YAML' => 0,
                           'aliased' => 0
                         },
          'INSTALLDIRS' => 'site',
          'EXE_FILES' => [
                           'tools/evolve',
                           'tools/migrationd'
                         ]
        )

README  view on Meta::CPAN

Algorithm::Evolutionary::Wheel
aliased
Class::Accessor::Fast
Language::Befunge >= 4.10
Language::Befunge::Storage::Generic::Vec::XS >= 0.02
Language::Befunge::Vector::XS >= 1.1.0
LWP::UserAgent
Parallel::Iterator
Perl6::Export::Attrs
Task::Weaken
Test::Exception
Test::MockRandom
Test::Output
UNIVERSAL::require
YAML

In addition to the above, the test suite can optionally use Test::Pod and
Devel::Leak.  Without each of these, it will skip a portion of the tests.
Note: the Devel::Leak tests result in a lot of ugly hexspam, so it probably
isn't worth the trouble.  The Pod test is nice though.


AUTHOR

    Mark Glines <mark-befunge@glines.org>


t/00deps.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;
my $num_tests;
BEGIN { $num_tests = 0; };
use Test::More;

# main script deps
require_ok('Algorithm::Evolutionary::Wheel');
require_ok('aliased');
require_ok('base');
require_ok('Carp');
require_ok('Class::Accessor::Fast');
require_ok('Cwd');
require_ok('File::Basename');
require_ok('File::Temp');
require_ok('IO::File');
require_ok('Language::Befunge');
require_ok('Language::Befunge::Storage::Generic::Vec::XS');
require_ok('Language::Befunge::Vector::XS');
require_ok('LWP::UserAgent');
require_ok('Parallel::Iterator');
require_ok('Perl6::Export::Attrs');
require_ok('Task::Weaken');
require_ok('strict');
require_ok('Test::Exception');
require_ok('Test::Harness');
require_ok('Test::MockRandom');
require_ok('Test::More');
require_ok('Test::Output');
require_ok('UNIVERSAL::require');
require_ok('warnings');
BEGIN { $num_tests += 24 };

# migration deps
require_ok('IO::Select');
require_ok('IO::Socket::INET');
require_ok('POSIX');
BEGIN { $num_tests += 3 };

# web dependencies
#require_ok('Catalyst');
#require_ok('Catalyst::Controller');
#require_ok('Catalyst::Helper');
#require_ok('Catalyst::View::MicroMason');
#require_ok('Catalyst::Test');
#require_ok('File::Find');
#require_ok('File::Path');
#require_ok('HTML::Entities');
#require_ok('WebService::Validator::HTML::W3C');
#require_ok('XML::XPath');
#BEGIN { $num_tests += 10 };


BEGIN { plan tests => $num_tests };

t/01config.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;

BEGIN { $ENV{AIEVOLVEBEFUNGE} = 't/insane.conf'; };

my $num_tests;
BEGIN { $num_tests = 0; };
use Test::More;
use Test::Output;
use Test::Exception;

use AI::Evolve::Befunge::Util;


# global_config
is(scalar global_config('basic_value', 'undefined'), 42, 'config(exists)');
is(scalar global_config('nonexistent', 'undefined'), 'undefined', 'config(!exists)');
is_deeply([global_config('nonexistent', 'undefined')], ['undefined'], 'wantarray config(!exists)');
is_deeply([global_config('nonexistent', undef)], [undef], 'wantarray config(!exists)');
is_deeply([global_config('nonexistent')], [], 'wantarray config(!exists)');

t/02physics.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;

BEGIN { $ENV{AIEVOLVEBEFUNGE} = 't/testconfig.conf'; };

my $num_tests;
BEGIN { $num_tests = 0; };
use Test::More;
use Test::Exception;
use Test::Output;

use aliased 'AI::Evolve::Befunge::Critter'   => 'Critter';
use aliased 'AI::Evolve::Befunge::Blueprint' => 'Blueprint';
use aliased 'AI::Evolve::Befunge::Board'     => 'Board';
use aliased 'AI::Evolve::Befunge::Physics'   => 'Physics';
use aliased 'AI::Evolve::Befunge::Critter::Result' => 'Result';
use AI::Evolve::Befunge::Util;


push_quiet(1);

t/03blueprint.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;
my $num_tests;
BEGIN { $num_tests = 0; };
use Test::More;
use Test::Exception;
use File::Temp qw(tempfile);
use IO::File;

use aliased 'AI::Evolve::Befunge::Blueprint' => 'Blueprint';

# new
my $blueprint = Blueprint->new(code => '0'x16, dimensions => 4);
ok(ref($blueprint) eq "AI::Evolve::Befunge::Blueprint", "create an blueprint object");
is($blueprint->code,    '0000000000000000','code as passed');
is($blueprint->dims,    4,                 '4 dimensions');

t/04board.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;
use Test::More;
use Test::Exception;
use Test::Output;

use AI::Evolve::Befunge::Util qw(v);
use aliased 'AI::Evolve::Befunge::Board' => 'Board';

my $num_tests;
BEGIN { $num_tests = 0; };

# constructor
my $size = v(5, 5);
my $board = Board->new(Size => $size);

t/05critter.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;
use Test::More;
use Test::Exception;

BEGIN { $ENV{AIEVOLVEBEFUNGE} = 't/insane.conf'; };

use aliased 'AI::Evolve::Befunge::Blueprint' => 'Blueprint';
use aliased 'AI::Evolve::Befunge::Critter'   => 'Critter';
use AI::Evolve::Befunge::Util qw(v custom_config push_debug);

my $num_tests;
BEGIN { $num_tests = 0; };

t/07physics_ttt.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;
use Test::More;
use Test::Exception;

BEGIN { $ENV{AIEVOLVEBEFUNGE} = 't/testconfig.conf'; };

use AI::Evolve::Befunge::Util qw(v);
use aliased 'AI::Evolve::Befunge::Board'     => 'Board';
use aliased 'AI::Evolve::Befunge::Physics'   => 'Physics';

my $num_tests;
BEGIN { $num_tests = 0; };

t/08physics_othello.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;
use Test::More;
use Test::Exception;

use AI::Evolve::Befunge::Util qw(v);
use aliased 'AI::Evolve::Befunge::Board'   => 'Board';
use aliased 'AI::Evolve::Befunge::Physics' => 'Physics';

my $num_tests;
BEGIN { $num_tests = 0; };

# basic game
# try to create an othello object

t/09population.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;

use Cwd;
use File::Temp qw(tempdir);
use Test::More;
use Test::Exception;
use Test::MockRandom {
    rand => [qw(AI::Evolve::Befunge::Population Algorithm::Evolutionary::Wheel)],
    srand => { main => 'seed' },
    oneish => [qw(main)]
};

BEGIN { $ENV{AIEVOLVEBEFUNGE} = 't/testconfig.conf'; };

use aliased 'AI::Evolve::Befunge::Population' => 'Population';
use aliased 'AI::Evolve::Befunge::Blueprint'  => 'Blueprint';
use AI::Evolve::Befunge::Util;

t/10migration.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;

use Carp;
use Cwd;
use File::Temp qw(tempfile);
use IO::Select;
use IO::Socket::INET;
use POSIX qw(sysconf _SC_OPEN_MAX);
use Test::More;
use Test::Exception;
use Test::MockRandom {
    rand => [qw(AI::Evolve::Befunge::Population Algorithm::Evolutionary::Wheel)],
    srand => { main => 'seed' },
    oneish => [qw(main)]
};
use Time::HiRes qw(sleep);

my $incoming; # lines of migration data sent by Population.pm
my $serverpid;
my $port = spawn_test_server();
my($temp, $tempfn) = tempfile();

t/99_pod_syntax.t  view on Meta::CPAN

#!/usr/bin/perl
use strict;
use warnings;
use Test::More;

eval 'use Test::Pod 1.00';
plan skip_all => 'Test::Pod 1.00 required for testing POD' if $@;
all_pod_files_ok();

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.315 second using v1.00-cache-2.02-grep-82fe00e-cpan-585fae043c8 )