add basic inflation wrapper and simple inflator
[dbsrgits/DBIx-Data-Store.git] / t / crud.t
index 71214c1..d01eca2 100644 (file)
--- a/t/crud.t
+++ b/t/crud.t
@@ -49,7 +49,7 @@ sub make_store {
       insert_one => sub {
         my ($store, undef, $dbh, $args) = @_;
         $store->_sth_for($dbh, 'INSERT INTO names (name) VALUES (?)', $args);
-        [ $dbh->last_insert_id(undef,undef,undef,undef) ];
+        [ $dbh->last_insert_id(undef,undef,undef,undef), @$args ];
       },
       update_one => 'UPDATE names SET name = ? WHERE id = ?',
       delete_one => 'DELETE FROM names WHERE id = ?',
@@ -57,40 +57,44 @@ sub make_store {
   });
 }
 
-setup_db;
+sub run_tests {
+  setup_db;
 
-my $store = make_store;
+  my $store = make_store;
 
-is_deeply([$store->flatten], [], 'Empty set');
+  is_deeply([$store->flatten], [], 'Empty set');
 
-is_deeply($store->add(['Bob']), [1], 'Add record');
+  is_deeply($store->add(['Bob']), [1,'Bob'], 'Add record');
 
-is_deeply([$store->flatten], [[1,'Bob']], 'One member');
+  is_deeply([$store->flatten], [[1,'Bob']], 'One member');
 
-is_deeply($store->get([1]), [1,'Bob'], 'Retrieve by key');
+  is_deeply($store->get([1]), [1,'Bob'], 'Retrieve by key');
 
-$store->replace([1],['Robert']);
+  $store->replace([1],['Robert']);
 
-is_deeply([$store->flatten], [[1,'Robert']], 'Name changed (all)');
+  is_deeply([$store->flatten], [[1,'Robert']], 'Name changed (all)');
 
-is_deeply($store->get([1]), [1,'Robert'], 'Retrieve by key');
+  is_deeply($store->get([1]), [1,'Robert'], 'Retrieve by key');
 
-$store->add([$_]) for qw(Joe James Jim);
+  $store->add([$_]) for qw(Joe James Jim);
 
-my $flatsort = sub {
-  [ sort { $a->[0] <=> $b->[0] } $store->flatten ]
-};
+  my $flatsort = sub {
+    [ sort { $a->[0] <=> $b->[0] } $store->flatten ]
+  };
 
-is_deeply($flatsort->(), [
-  [1,'Robert'],[2,'Joe'],[3,'James'],[4,'Jim']
-], 'Four members');
+  is_deeply($flatsort->(), [
+    [1,'Robert'],[2,'Joe'],[3,'James'],[4,'Jim']
+  ], 'Four members');
 
-is_deeply($store->get([3]),[3,'James'], 'Retrieve by key');
+  is_deeply($store->get([3]),[3,'James'], 'Retrieve by key');
 
-$store->remove([3]);
+  $store->remove([3]);
 
-is_deeply($flatsort->(), [
-  [1,'Robert'],[2,'Joe'],[4,'Jim']
-], 'Three members left');
+  is_deeply($flatsort->(), [
+    [1,'Robert'],[2,'Joe'],[4,'Jim']
+  ], 'Three members left');
 
-done_testing;
+  done_testing;
+}
+
+run_tests unless caller;