Revert autogenerated tests. Tests should not changed radically.
[gitmo/Mouse.git] / t / 200_examples / 002_example_Moose_POOP.t
diff --git a/t/200_examples/002_example_Moose_POOP.t b/t/200_examples/002_example_Moose_POOP.t
deleted file mode 100644 (file)
index 4db02f7..0000000
+++ /dev/null
@@ -1,440 +0,0 @@
-#!/usr/bin/perl
-# This is automatically generated by author/import-moose-test.pl.
-# DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!!
-use t::lib::MooseCompat;
-
-use strict;
-use warnings;
-
-use Test::More;
-
-use Test::Requires {
-    'DBM::Deep' => '1.0003', # skip all if not installed
-    'DateTime::Format::MySQL' => '0.01',
-};
-
-use Test::Exception;
-
-BEGIN {
-    # in case there are leftovers
-    unlink('newswriter.db') if -e 'newswriter.db';
-}
-
-END {
-    unlink('newswriter.db') if -e 'newswriter.db';
-}
-
-
-=pod
-
-This example creates a very basic Object Database which
-links in the instances created with a backend store
-(a DBM::Deep hash). It is by no means to be taken seriously
-as a real-world ODB, but is a proof of concept of the flexibility
-of the ::Instance protocol.
-
-=cut
-
-BEGIN {
-
-    package Mouse::POOP::Meta::Instance;
-    use Mouse;
-
-    use DBM::Deep;
-
-    extends 'Mouse::Meta::Instance';
-
-    {
-        my %INSTANCE_COUNTERS;
-
-        my $db = DBM::Deep->new({
-            file      => "newswriter.db",
-            autobless => 1,
-            locking   => 1,
-        });
-
-        sub _reload_db {
-            #use Data::Dumper;
-            #warn Dumper $db;
-            $db = undef;
-            $db = DBM::Deep->new({
-                file      => "newswriter.db",
-                autobless => 1,
-                locking   => 1,
-            });
-        }
-
-        sub create_instance {
-            my $self  = shift;
-            my $class = $self->associated_metaclass->name;
-            my $oid   = ++$INSTANCE_COUNTERS{$class};
-
-            $db->{$class}->[($oid - 1)] = {};
-
-            bless {
-                oid      => $oid,
-                instance => $db->{$class}->[($oid - 1)]
-            }, $class;
-        }
-
-        sub find_instance {
-            my ($self, $oid) = @_;
-            my $instance = $db->{$self->associated_metaclass->name}->[($oid - 1)];
-
-            bless {
-                oid      => $oid,
-                instance => $instance,
-            }, $self->associated_metaclass->name;
-        }
-
-        sub clone_instance {
-            my ($self, $instance) = @_;
-
-            my $class = $self->{meta}->name;
-            my $oid   = ++$INSTANCE_COUNTERS{$class};
-
-            my $clone = tied($instance)->clone;
-
-            bless {
-                oid      => $oid,
-                instance => $clone,
-            }, $class;
-        }
-    }
-
-    sub get_instance_oid {
-        my ($self, $instance) = @_;
-        $instance->{oid};
-    }
-
-    sub get_slot_value {
-        my ($self, $instance, $slot_name) = @_;
-        return $instance->{instance}->{$slot_name};
-    }
-
-    sub set_slot_value {
-        my ($self, $instance, $slot_name, $value) = @_;
-        $instance->{instance}->{$slot_name} = $value;
-    }
-
-    sub is_slot_initialized {
-        my ($self, $instance, $slot_name, $value) = @_;
-        exists $instance->{instance}->{$slot_name} ? 1 : 0;
-    }
-
-    sub weaken_slot_value {
-        confess "Not sure how well DBM::Deep plays with weak refs, Rob says 'Write a test'";
-    }
-
-    sub inline_slot_access {
-        my ($self, $instance, $slot_name) = @_;
-        sprintf "%s->{instance}->{%s}", $instance, $slot_name;
-    }
-
-    package Mouse::POOP::Meta::Class;
-    use Mouse;
-
-    extends 'Mouse::Meta::Class';
-
-    override '_construct_instance' => sub {
-        my $class = shift;
-        my $params = @_ == 1 ? $_[0] : {@_};
-        return $class->get_meta_instance->find_instance($params->{oid})
-            if $params->{oid};
-        super();
-    };
-
-}
-{
-    package Mouse::POOP::Object;
-    use metaclass 'Mouse::POOP::Meta::Class' => (
-        instance_metaclass => 'Mouse::POOP::Meta::Instance'
-    );
-    use Mouse;
-
-    sub oid {
-        my $self = shift;
-        $self->meta
-             ->get_meta_instance
-             ->get_instance_oid($self);
-    }
-
-}
-{
-    package Newswriter::Author;
-    use Mouse;
-
-    extends 'Mouse::POOP::Object';
-
-    has 'first_name' => (is => 'rw', isa => 'Str');
-    has 'last_name'  => (is => 'rw', isa => 'Str');
-
-    package Newswriter::Article;
-    use Mouse;
-    use Mouse::Util::TypeConstraints;
-
-    use DateTime::Format::MySQL;
-
-    extends 'Mouse::POOP::Object';
-
-    subtype 'Headline'
-        => as 'Str'
-        => where { length($_) < 100 };
-
-    subtype 'Summary'
-        => as 'Str'
-        => where { length($_) < 255 };
-
-    subtype 'DateTimeFormatString'
-        => as 'Str'
-        => where { DateTime::Format::MySQL->parse_datetime($_) };
-
-    enum 'Status' => qw(draft posted pending archive);
-
-    has 'headline' => (is => 'rw', isa => 'Headline');
-    has 'summary'  => (is => 'rw', isa => 'Summary');
-    has 'article'  => (is => 'rw', isa => 'Str');
-
-    has 'start_date' => (is => 'rw', isa => 'DateTimeFormatString');
-    has 'end_date'   => (is => 'rw', isa => 'DateTimeFormatString');
-
-    has 'author' => (is => 'rw', isa => 'Newswriter::Author');
-
-    has 'status' => (is => 'rw', isa => 'Status');
-
-    around 'start_date', 'end_date' => sub {
-        my $c    = shift;
-        my $self = shift;
-        $c->($self, DateTime::Format::MySQL->format_datetime($_[0])) if @_;
-        DateTime::Format::MySQL->parse_datetime($c->($self) || return undef);
-    };
-}
-
-{ # check the meta stuff first
-    isa_ok(Mouse::POOP::Object->meta, 'Mouse::POOP::Meta::Class');
-    isa_ok(Mouse::POOP::Object->meta, 'Mouse::Meta::Class');
-    isa_ok(Mouse::POOP::Object->meta, 'Mouse::Meta::Class');
-
-    is(Mouse::POOP::Object->meta->instance_metaclass,
-      'Mouse::POOP::Meta::Instance',
-      '... got the right instance metaclass name');
-
-    isa_ok(Mouse::POOP::Object->meta->get_meta_instance, 'Mouse::POOP::Meta::Instance');
-
-    my $base = Mouse::POOP::Object->new;
-    isa_ok($base, 'Mouse::POOP::Object');
-    isa_ok($base, 'Mouse::Object');
-
-    isa_ok($base->meta, 'Mouse::POOP::Meta::Class');
-    isa_ok($base->meta, 'Mouse::Meta::Class');
-    isa_ok($base->meta, 'Mouse::Meta::Class');
-
-    is($base->meta->instance_metaclass,
-      'Mouse::POOP::Meta::Instance',
-      '... got the right instance metaclass name');
-
-    isa_ok($base->meta->get_meta_instance, 'Mouse::POOP::Meta::Instance');
-}
-
-my $article_oid;
-my $article_ref;
-{
-    my $article;
-    lives_ok {
-        $article = Newswriter::Article->new(
-            headline => 'Home Office Redecorated',
-            summary  => 'The home office was recently redecorated to match the new company colors',
-            article  => '...',
-
-            author => Newswriter::Author->new(
-                first_name => 'Truman',
-                last_name  => 'Capote'
-            ),
-
-            status => 'pending'
-        );
-    } '... created my article successfully';
-    isa_ok($article, 'Newswriter::Article');
-    isa_ok($article, 'Mouse::POOP::Object');
-
-    lives_ok {
-        $article->start_date(DateTime->new(year => 2006, month => 6, day => 10));
-        $article->end_date(DateTime->new(year => 2006, month => 6, day => 17));
-    } '... add the article date-time stuff';
-
-    ## check some meta stuff
-
-    isa_ok($article->meta, 'Mouse::POOP::Meta::Class');
-    isa_ok($article->meta, 'Mouse::Meta::Class');
-    isa_ok($article->meta, 'Mouse::Meta::Class');
-
-    is($article->meta->instance_metaclass,
-      'Mouse::POOP::Meta::Instance',
-      '... got the right instance metaclass name');
-
-    isa_ok($article->meta->get_meta_instance, 'Mouse::POOP::Meta::Instance');
-
-    ok($article->oid, '... got a oid for the article');
-
-    $article_oid = $article->oid;
-    $article_ref = "$article";
-
-    is($article->headline,
-       'Home Office Redecorated',
-       '... got the right headline');
-    is($article->summary,
-       'The home office was recently redecorated to match the new company colors',
-       '... got the right summary');
-    is($article->article, '...', '... got the right article');
-
-    isa_ok($article->start_date, 'DateTime');
-    isa_ok($article->end_date,   'DateTime');
-
-    isa_ok($article->author, 'Newswriter::Author');
-    is($article->author->first_name, 'Truman', '... got the right author first name');
-    is($article->author->last_name, 'Capote', '... got the right author last name');
-
-    is($article->status, 'pending', '... got the right status');
-}
-
-Mouse::POOP::Meta::Instance->_reload_db();
-
-my $article2_oid;
-my $article2_ref;
-{
-    my $article2;
-    lives_ok {
-        $article2 = Newswriter::Article->new(
-            headline => 'Company wins Lottery',
-            summary  => 'An email was received today that informed the company we have won the lottery',
-            article  => 'WoW',
-
-            author => Newswriter::Author->new(
-                first_name => 'Katie',
-                last_name  => 'Couric'
-            ),
-
-            status => 'posted'
-        );
-    } '... created my article successfully';
-    isa_ok($article2, 'Newswriter::Article');
-    isa_ok($article2, 'Mouse::POOP::Object');
-
-    $article2_oid = $article2->oid;
-    $article2_ref = "$article2";
-
-    is($article2->headline,
-       'Company wins Lottery',
-       '... got the right headline');
-    is($article2->summary,
-       'An email was received today that informed the company we have won the lottery',
-       '... got the right summary');
-    is($article2->article, 'WoW', '... got the right article');
-
-    ok(!$article2->start_date, '... these two dates are unassigned');
-    ok(!$article2->end_date,   '... these two dates are unassigned');
-
-    isa_ok($article2->author, 'Newswriter::Author');
-    is($article2->author->first_name, 'Katie', '... got the right author first name');
-    is($article2->author->last_name, 'Couric', '... got the right author last name');
-
-    is($article2->status, 'posted', '... got the right status');
-
-    ## orig-article
-
-    my $article;
-    lives_ok {
-        $article = Newswriter::Article->new(oid => $article_oid);
-    } '... (re)-created my article successfully';
-    isa_ok($article, 'Newswriter::Article');
-    isa_ok($article, 'Mouse::POOP::Object');
-
-    is($article->oid, $article_oid, '... got a oid for the article');
-    isnt($article_ref, "$article", '... got a new article instance');
-
-    is($article->headline,
-       'Home Office Redecorated',
-       '... got the right headline');
-    is($article->summary,
-       'The home office was recently redecorated to match the new company colors',
-       '... got the right summary');
-    is($article->article, '...', '... got the right article');
-
-    isa_ok($article->start_date, 'DateTime');
-    isa_ok($article->end_date,   'DateTime');
-
-    isa_ok($article->author, 'Newswriter::Author');
-    is($article->author->first_name, 'Truman', '... got the right author first name');
-    is($article->author->last_name, 'Capote', '... got the right author last name');
-
-    lives_ok {
-        $article->author->first_name('Dan');
-        $article->author->last_name('Rather');
-    } '... changed the value ok';
-
-    is($article->author->first_name, 'Dan', '... got the changed author first name');
-    is($article->author->last_name, 'Rather', '... got the changed author last name');
-
-    is($article->status, 'pending', '... got the right status');
-}
-
-Mouse::POOP::Meta::Instance->_reload_db();
-
-{
-    my $article;
-    lives_ok {
-        $article = Newswriter::Article->new(oid => $article_oid);
-    } '... (re)-created my article successfully';
-    isa_ok($article, 'Newswriter::Article');
-    isa_ok($article, 'Mouse::POOP::Object');
-
-    is($article->oid, $article_oid, '... got a oid for the article');
-    isnt($article_ref, "$article", '... got a new article instance');
-
-    is($article->headline,
-       'Home Office Redecorated',
-       '... got the right headline');
-    is($article->summary,
-       'The home office was recently redecorated to match the new company colors',
-       '... got the right summary');
-    is($article->article, '...', '... got the right article');
-
-    isa_ok($article->start_date, 'DateTime');
-    isa_ok($article->end_date,   'DateTime');
-
-    isa_ok($article->author, 'Newswriter::Author');
-    is($article->author->first_name, 'Dan', '... got the changed author first name');
-    is($article->author->last_name, 'Rather', '... got the changed author last name');
-
-    is($article->status, 'pending', '... got the right status');
-
-    my $article2;
-    lives_ok {
-        $article2 = Newswriter::Article->new(oid => $article2_oid);
-    } '... (re)-created my article successfully';
-    isa_ok($article2, 'Newswriter::Article');
-    isa_ok($article2, 'Mouse::POOP::Object');
-
-    is($article2->oid, $article2_oid, '... got a oid for the article');
-    isnt($article2_ref, "$article2", '... got a new article instance');
-
-    is($article2->headline,
-       'Company wins Lottery',
-       '... got the right headline');
-    is($article2->summary,
-       'An email was received today that informed the company we have won the lottery',
-       '... got the right summary');
-    is($article2->article, 'WoW', '... got the right article');
-
-    ok(!$article2->start_date, '... these two dates are unassigned');
-    ok(!$article2->end_date,   '... these two dates are unassigned');
-
-    isa_ok($article2->author, 'Newswriter::Author');
-    is($article2->author->first_name, 'Katie', '... got the right author first name');
-    is($article2->author->last_name, 'Couric', '... got the right author last name');
-
-    is($article2->status, 'posted', '... got the right status');
-
-}
-
-done_testing;