rev 382 - trunk/pr

SVN User <[email protected]> Sat, 17 Apr 2004 22:30:49 -0400
Newsgroups gmane.comp.lang.prothon.cvs
Message-ID <[email protected]>
Author: mark
Date: 2004-04-17 22:30:46 -0400 (Sat, 17 Apr 2004)
New Revision: 382

Added:
   trunk/pr/dbm.pr
Log:
now we REALLY add dbm.pr

Added: trunk/pr/dbm.pr
===================================================================
--- trunk/pr/dbm.pr	2004-04-18 02:02:42 UTC (rev 381)
+++ trunk/pr/dbm.pr	2004-04-18 02:30:46 UTC (rev 382)
@@ -0,0 +1,46 @@
+#!/usr/bin/env prothon
+
+# dbm.pr
+
+from DBM import DB
+
+db = DB("test.dbm", mode=DBM.RWTRUNC)
+
+if db.exists?('a'):
+	print 'err1'
+	Sys.exit(1)
+	
+db.store('a', 'abc' + 0.chr() + 'def')
+db.store('c', 'xyz')
+db.store('b', '')
+
+if not db.exists?('a'):
+	print 'err2'
+	Sys.exit(1)
+	
+if db.fetch('a') != 'abc' + 0.chr() + 'def':
+	print 'err3'
+	Sys.exit(1)
+	
+if db.fetch('b') != '':
+	print 'err4'
+	Sys.exit(1)
+	
+if db.fetch('c') != 'xyz':
+	print 'err5'
+	Sys.exit(1)
+	
+list = []
+k = db.firstKey()
+while k:
+	list.append!(k)
+	k = db.nextKey(k)
+
+list.sort!()
+
+if list != ['a','b','c']:
+	print 'err6'
+	Sys.exit(1)
+	
+print '\nall tests passed\n'
+