# -*- Mode: Perl -*-
# database.t --
# ITIID : $ITI$ $Header $__Header$
# Author : Ulrich Pfeifer
# Created On : Thu Aug 8 12:14:23 1996
# Last Modified By: Ulrich Pfeifer
# Last Modified On: Sun Nov 22 18:44:30 1998
# Language : CPerl
# Update Count : 80
# Status : Unknown, Use with caution!
#
# Copyright (c) 1996-1997, Ulrich Pfeifer
#
######################### We start with some black magic to print on failure.
BEGIN { $| = 1; print "1..18\n"; }
END {print "not ok 1\n" unless $loaded;
system 'rm -rf test' if -d 'test';
}
#use diagnostics;
use WAIT::Database;
$loaded = 1;
print "ok 1\n";
######################### End of black magic.
$test = 2;
$db = create WAIT::Database name => 'test';
print ((defined $db)? "ok $test\n" : "not ok $test\n"); $test++;
$tb = create_table $db name => 'sample', attr => ['docid', 'term'];
print ((defined $tb)? "ok $test\n" : "not ok $test\n"); $test++;
$tid = $tb->insert(docid => 1, term => IR);
print (($tid)? "ok $test\n" : "not ok $test\n"); $test++;
$tb->sync;
%tp = $tb->fetch($tid);
print (($tp{docid} == 1 and $tp{term} eq IR)? "ok $test\n" : "not ok $test\n"); $test++;
$status = $tb->close;
print (($status)? "ok $test\n" : "not ok $test\n"); $test++;
$status = $db->close;
print (($status)? "ok $test\n" : "not ok $test\n"); $test++;
$db = WAIT::Database->open(name => 'test');
print ((defined $db)? "ok $test\n" : "not ok $test\n"); $test++;
$tb = table $db name => 'sample';
print ((defined $tb)? "ok $test\n" : "not ok $test\n"); $test++;
$status = $tb->open;
print (($status)? "ok $test\n" : "not ok $test\n"); $test++;
%tp = $tb->fetch($tid);
print (($tp{docid} == 1 and $tp{term} eq IR)? "ok $test\n" : "not ok $test\n"); $test++;
$status = $tb->delete(%tp);
print (($status)? "ok $test\n" : "not ok $test\n"); $test++;
$status = $tb->delete_by_key($tid);
print (($status)? "ok $test\n" : "not ok $test\n"); $test++;
# can we reuse tid?
$ntid = $tb->insert(docid => 1, term => IR);
print (($ntid == $tid)? "ok $test\n" : "not ok $test\n"); $test++;
%tp = $tb->fetch($ntid);
print (($tp{docid} == 1 and $tp{term} eq IR)? "ok $test\n" : "not ok $test\n"); $test++;
$status = $tb->close;
print (($status)? "ok $test\n" : "not ok $test\n"); $test++;
# must have destroyed all handles here !
# clean up
$status = $db->dispose;
print (($status)? "ok $test\n" : "not ok $test\n"); $test++;
print ((!defined $db)? "ok $test\n" : "not ok $test\n"); $test++;