bump version to 0.16
[gitmo/MooseX-Singleton.git] / t / 001-basic.t
index 99ed3de..9cd90b0 100644 (file)
@@ -1,6 +1,6 @@
 use strict;
 use warnings;
-use Test::More tests => 15;
+use Test::More tests => 16;
 
 BEGIN {
     package MooseX::Singleton::Test;
@@ -9,7 +9,7 @@ BEGIN {
     has bag => (
         is      => 'rw',
         isa     => 'HashRef[Int]',
-        default => sub { {} },
+        default => sub { { default => 42 } },
     );
 
     sub distinct_keys {
@@ -34,35 +34,36 @@ BEGIN {
 my $mst = MooseX::Singleton::Test->instance;
 isa_ok($mst, 'MooseX::Singleton::Test', 'Singleton->instance returns a real instance');
 
-is($mst->distinct_keys, 0, "no keys yet");
+is($mst->distinct_keys, 1, "default keys");
 
 $mst->add(foo => 10);
-is($mst->distinct_keys, 1, "one key");
+is($mst->distinct_keys, 2, "added key");
 
 $mst->add(bar => 5);
-is($mst->distinct_keys, 2, "two keys");
+is($mst->distinct_keys, 3, "added another key");
 
 my $mst2 = MooseX::Singleton::Test->instance;
+is($mst, $mst2, 'instances are the same object');
 isa_ok($mst2, 'MooseX::Singleton::Test', 'Singleton->instance returns a real instance');
 
-is($mst2->distinct_keys, 2, "two keys, from before");
+is($mst2->distinct_keys, 3, "keys from before");
 
 $mst->add(baz => 2);
 
-is($mst->distinct_keys, 3, "three keys");
-is($mst2->distinct_keys, 3, "attributes are shared even after ->instance");
+is($mst->distinct_keys, 4, "attributes are shared even after ->instance");
+is($mst2->distinct_keys, 4, "attributes are shared even after ->instance");
 
-is(MooseX::Singleton::Test->distinct_keys, 3, "three keys even when Package->distinct_keys");
+is(MooseX::Singleton::Test->distinct_keys, 4, "Package->reader works");
 
 MooseX::Singleton::Test->add(quux => 9000);
 
-is($mst->distinct_keys, 4, "Package->add works fine");
-is($mst2->distinct_keys, 4, "Package->add works fine");
-is(MooseX::Singleton::Test->distinct_keys, 4, "Package->add works fine");
+is($mst->distinct_keys, 5, "Package->add works");
+is($mst2->distinct_keys, 5, "Package->add works");
+is(MooseX::Singleton::Test->distinct_keys, 5, "Package->add works");
 
 MooseX::Singleton::Test->clear;
 
-is($mst->distinct_keys, 0, "Package->clear works fine");
-is($mst2->distinct_keys, 0, "Package->clear works fine");
-is(MooseX::Singleton::Test->distinct_keys, 0, "Package->clear works fine");
+is($mst->distinct_keys, 0, "Package->clear works");
+is($mst2->distinct_keys, 0, "Package->clear works");
+is(MooseX::Singleton::Test->distinct_keys, 0, "Package->clear works");