simplify more stuff
[gitmo/Class-MOP.git] / t / 105_ClassEncapsulatedAttributes_test.t
index 199b4c2..075f616 100644 (file)
@@ -1,66 +1,57 @@
-#!/usr/bin/perl
-
 use strict;
 use warnings;
 
-use Test::More tests => 29;
+use Test::More;
 use File::Spec;
 
-BEGIN { 
-    use_ok('Class::MOP');    
-    require_ok(File::Spec->catdir('examples', 'ClassEncapsulatedAttributes.pod'));
+use Class::MOP;
+
+BEGIN {
+    require_ok(File::Spec->catfile('examples', 'ClassEncapsulatedAttributes.pod'));
 }
 
 {
     package Foo;
-    
-    sub meta { ClassEncapsulatedAttributes->initialize($_[0]) }
-    
-    Foo->meta->add_attribute(
-        ClassEncapsulatedAttributes::Attribute->new('foo' => (
-            accessor  => 'foo',
-            predicate => 'has_foo',            
-            default   => 'init in FOO'
-        ))
-    );
-    
-    Foo->meta->add_attribute(
-        ClassEncapsulatedAttributes::Attribute->new('bar' => (
-            reader  => 'get_bar',
-            writer  => 'set_bar',
-            default => 'init in FOO'
-        ))
-    );    
-    
+
+    use metaclass 'ClassEncapsulatedAttributes';
+
+    Foo->meta->add_attribute('foo' => (
+        accessor  => 'foo',
+        predicate => 'has_foo',
+        default   => 'init in FOO'
+    ));
+
+    Foo->meta->add_attribute('bar' => (
+        reader  => 'get_bar',
+        writer  => 'set_bar',
+        default => 'init in FOO'
+    ));
+
     sub new  {
         my $class = shift;
-        bless $class->meta->construct_instance(@_) => $class;
+        $class->meta->new_object(@_);
     }
-    
+
     package Bar;
     our @ISA = ('Foo');
-    
-    Bar->meta->add_attribute(
-        ClassEncapsulatedAttributes::Attribute->new('foo' => (
-            accessor  => 'foo',
-            predicate => 'has_foo',
-            default   => 'init in BAR'            
-        ))
-    );  
-    
-    Bar->meta->add_attribute(
-        ClassEncapsulatedAttributes::Attribute->new('bar' => (
-            reader  => 'get_bar',
-            writer  => 'set_bar',
-            default => 'init in BAR'          
-        ))
-    );    
-    
+
+    Bar->meta->add_attribute('foo' => (
+        accessor  => 'foo',
+        predicate => 'has_foo',
+        default   => 'init in BAR'
+    ));
+
+    Bar->meta->add_attribute('bar' => (
+        reader  => 'get_bar',
+        writer  => 'set_bar',
+        default => 'init in BAR'
+    ));
+
     sub SUPER_foo     { (shift)->SUPER::foo(@_)     }
-    sub SUPER_has_foo { (shift)->SUPER::foo(@_)     }    
-    sub SUPER_get_bar { (shift)->SUPER::get_bar()   }    
-    sub SUPER_set_bar { (shift)->SUPER::set_bar(@_) }        
-      
+    sub SUPER_has_foo { (shift)->SUPER::foo(@_)     }
+    sub SUPER_get_bar { (shift)->SUPER::get_bar()   }
+    sub SUPER_set_bar { (shift)->SUPER::set_bar(@_) }
+
 }
 
 {
@@ -85,13 +76,13 @@ BEGIN {
 
     is($foo->foo, 'init in FOO', '... got the right default value for Foo::foo');
     is($bar->foo, 'init in BAR', '... got the right default value for Bar::foo');
-    
-    is($bar->SUPER_foo(), 'init in FOO', '... got the right default value for Bar::SUPER::foo');    
-    
+
+    is($bar->SUPER_foo(), 'init in FOO', '... got the right default value for Bar::SUPER::foo');
+
     $bar->SUPER_foo(undef);
 
-    is($bar->SUPER_foo(), undef, '... successfully set Foo::foo through Bar::SUPER::foo');        
-    ok(!$bar->SUPER_has_foo, '... BAR::SUPER::has_foo == 0');    
+    is($bar->SUPER_foo(), undef, '... successfully set Foo::foo through Bar::SUPER::foo');
+    ok(!$bar->SUPER_has_foo, '... BAR::SUPER::has_foo == 0');
 
     ok($foo->has_foo, '... Foo::has_foo (is still) 1');
 }
@@ -99,7 +90,7 @@ BEGIN {
 {
     my $bar = Bar->new(
         'Foo' => { 'foo' => 'Foo::foo' },
-        'Bar' => { 'foo' => 'Bar::foo' }        
+        'Bar' => { 'foo' => 'Bar::foo' }
     );
     isa_ok($bar, 'Bar');
 
@@ -109,9 +100,10 @@ BEGIN {
     can_ok($bar, 'set_bar');
 
     ok($bar->has_foo, '... Bar::has_foo == 1');
-    ok($bar->SUPER_has_foo, '... Bar::SUPER_has_foo == 1');    
+    ok($bar->SUPER_has_foo, '... Bar::SUPER_has_foo == 1');
 
-    is($bar->foo, 'Bar::foo', '... got the right default value for Bar::foo');    
-    is($bar->SUPER_foo(), 'Foo::foo', '... got the right default value for Bar::SUPER::foo');    
+    is($bar->foo, 'Bar::foo', '... got the right default value for Bar::foo');
+    is($bar->SUPER_foo(), 'Foo::foo', '... got the right default value for Bar::SUPER::foo');
 }
 
+done_testing;