use strict;
use warnings;
-use Test::More tests => 34;
+use Test::More tests => 25;
BEGIN { use_ok('Blerg::Database') };
#########################
my ($ptr, @list, $n);
$n = 0;
-### C interfaces
+### C interface
+
# Open a database
$ptr = Blerg::Database::_open($test_user);
ok( ref $ptr eq 'struct blergPtr' );
my $t = Blerg::Database::_get_timestamp($ptr, $n);
ok( $t0 - $t <= 1.0 );
-# Subscription
-my ($ptra, $ptrb);
-$ptra = Blerg::Database::_open("a");
-$ptrb = Blerg::Database::_open("b");
-ok( Blerg::Database::subscription_add("a", "b") == 1 );
-Blerg::Database::_store($ptrb, "Hello, A!");
-@list = Blerg::Database::_subscription_list("a", 0, 1);
-ok( @list == 1 );
-ok( $list[0]->{author} eq 'b' );
-ok( $list[0]->{record} == 0 );
-ok( Blerg::Database::_fetch($ptrb, $list[0]->{record}) eq 'Hello, A!' );
-
# Test tags
Blerg::Database::_store($ptr, "This is data A #data");
Blerg::Database::_store($ptr, "This is data B #data");
ok( Blerg::Database::exists($test_user) );
-# Perl OO interface
+### Perl OO interface
+
+# Open a nonexistent database
my $blerg = Blerg::Database->open_existing('nonexistent');
ok( not defined $blerg );
+
+# Open a database
$blerg = Blerg::Database->open($test_user);
ok( defined $blerg );
ok( ref $blerg->{ptr} eq 'struct blergPtr');
+
+# Fetch/Store
ok( $blerg->fetch(0) eq $data );
ok( $blerg->store($data) == $n + 1 );
$n++;
ok( $blerg->fetch($n) eq $data );
-$blerg->close;
-# Subscription OO-style
-$ptra = Blerg::Database->open_existing('a');
-$ptrb = Blerg::Database->open_existing('b');
-@list = $ptra->subscription_list;
-ok( @list == 1 );
-ok( $list[0]->{author} eq 'b' );
-ok( $list[0]->{record} == 0 );
-ok( $ptrb->fetch($list[0]->{record}) eq 'Hello, A!' );
-$ptrb->close;
-$ptra->close;
+# Close database
+$blerg->close;
END {
chdir;