merging the immutable branch into trunk
[gitmo/Class-MOP.git] / t / 014_attribute_introspection.t
index c51c953..7fe3b0e 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 40;
+use Test::More tests => 49;
 use Test::Exception;
 
 BEGIN {
@@ -30,16 +30,23 @@ BEGIN {
         has_writer    writer
         has_reader    reader
         has_predicate predicate
+        has_clearer   clearer
         has_init_arg  init_arg
-        has_default   default
+        has_default   default    is_default_a_coderef
+        
+        slots
+        get_value
+        set_value
+        has_value
+        clear_value
         
         associated_class
-        attach_to_class detach_from_class
+        attach_to_class detach_from_class 
+        
+        accessor_metaclass
         
-        generate_accessor_method
-        generate_reader_method
-        generate_writer_method
-        generate_predicate_method
+        associated_methods
+        associate_method
         
         process_accessors
         install_accessors
@@ -47,22 +54,30 @@ BEGIN {
         );
         
     is_deeply(
-        [ sort @methods ],
         [ sort $meta->get_method_list ],
+        [ sort @methods ],
         '... our method list matches');        
     
     foreach my $method_name (@methods) {
         ok($meta->has_method($method_name), '... Class::MOP::Attribute->has_method(' . $method_name . ')');
     }
     
-    my @attributes = qw(
-        name accessor reader writer predicate
-        init_arg default associated_class
+    my @attributes = (
+        '$!name',
+        '$!accessor',
+        '$!reader',
+        '$!writer',
+        '$!predicate',
+        '$!clearer',
+        '$!init_arg',
+        '$!default',
+        '$!associated_class',
+        '@!associated_methods',
         );
 
     is_deeply(
-        [ sort @attributes ],
         [ sort $meta->get_attribute_list ],
+        [ sort @attributes ],
         '... our attribute list matches');
     
     foreach my $attribute_name (@attributes) {
@@ -75,4 +90,4 @@ BEGIN {
     # but that is getting a little excessive so I  
     # wont worry about it for now. Maybe if I get 
     # bored I will do it.
-}
\ No newline at end of file
+}