Mercurial > p > roundup > code
diff test/db_test_base.py @ 5067:e424987d294a
Add support for an integer type to join the existing number type.
Commit patch supplied for issue2550886. This can be used for
properties used for ordering, counts etc. where a decimal point
isn't needed. Developed by Anthony (antmail). Doc updates written by
John Rouillard.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 05 Jun 2016 00:17:26 -0400 |
| parents | 5251e97b1de0 |
| children | 87b0358790ed |
line wrap: on
line diff
--- a/test/db_test_base.py Tue May 31 09:16:09 2016 +0200 +++ b/test/db_test_base.py Sun Jun 05 00:17:26 2016 -0400 @@ -22,7 +22,7 @@ import pytest from roundup.hyperdb import String, Password, Link, Multilink, Date, \ - Interval, DatabaseError, Boolean, Number, Node + Interval, DatabaseError, Boolean, Number, Node, Integer from roundup.mailer import Mailer from roundup import date, password, init, instance, configuration, \ roundupdb, i18n @@ -82,7 +82,7 @@ priority.setkey("name") user = module.Class(db, "user", username=String(), password=Password(), assignable=Boolean(), age=Number(), roles=String(), address=String(), - supervisor=Link('user'),realname=String()) + rating=Integer(), supervisor=Link('user'),realname=String()) user.setkey("username") file = module.FileClass(db, "file", name=String(), type=String(), comment=String(indexme="yes"), fooz=Password()) @@ -534,6 +534,25 @@ self.db.user.set(nid, age=None) self.assertEqual(self.db.user.get(nid, "age"), None) + # Integer + def testIntegerChange(self): + nid = self.db.user.create(username='foo', rating=100) + self.assertEqual(100, self.db.user.get(nid, 'rating')) + self.db.user.set(nid, rating=300) + self.assertNotEqual(self.db.user.get(nid, 'rating'), 100) + self.db.user.set(nid, rating=-1) + self.assertEqual(self.db.user.get(nid, 'rating'), -1) + self.db.user.set(nid, rating=0) + self.assertEqual(self.db.user.get(nid, 'rating'), 0) + + nid = self.db.user.create(username='bar', rating=0) + self.assertEqual(self.db.user.get(nid, 'rating'), 0) + + def testIntegerUnset(self): + nid = self.db.user.create(username='foo', rating=1) + self.db.user.set(nid, rating=None) + self.assertEqual(self.db.user.get(nid, "rating"), None) + # Password def testPasswordChange(self): x = password.Password('x')
