From: Evan Broder Date: Fri, 25 Jul 2008 02:07:38 +0000 (+0000) Subject: Add and use an __init__ method for Expenditure objects X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;ds=sidebyside;h=4d790b35771902dc80f38ec849d1bbc666cc55cc;p=bluechips.git Add and use an __init__ method for Expenditure objects --- diff --git a/bluechips/model/expenditure.py b/bluechips/model/expenditure.py index 59968f3..009ba3a 100644 --- a/bluechips/model/expenditure.py +++ b/bluechips/model/expenditure.py @@ -3,9 +3,18 @@ from bluechips.model.split import Split from bluechips.model import meta from bluechips.model.types import Currency from decimal import Decimal +from datetime import datetime import random class Expenditure(object): + def __init__(self, spender=None, amount=Currency(0), description=u"", + date=None): + self.spender = spender + self.amount = amount + self.description = description + if self.date == None: + self.date = datetime.now() + def __repr__(self): return '' % (self.spender, self.amount) diff --git a/bluechips/tests/__init__.py b/bluechips/tests/__init__.py index 514b1a3..cbc0ad4 100644 --- a/bluechips/tests/__init__.py +++ b/bluechips/tests/__init__.py @@ -58,9 +58,8 @@ def createExpenditures(n=None): n = random.randint(5, 20) users = meta.Session.query(bluechips.model.User).all() for i in xrange(n): - e = bluechips.model.Expenditure() - e.spender = random.choice(users) - e.amount = Currency(random.randint(1000, 100000)) + e = bluechips.model.Expenditure(random.choice(users), + Currency(random.randint(1000, 100000))) meta.Session.save(e) e.even_split() meta.Session.commit() diff --git a/bluechips/tests/splits/test_fixed.py b/bluechips/tests/splits/test_fixed.py index 2916eb7..c338cbd 100644 --- a/bluechips/tests/splits/test_fixed.py +++ b/bluechips/tests/splits/test_fixed.py @@ -12,9 +12,8 @@ class TestSplitFixed(TestCase): """ createUsers(4) - e = model.Expenditure() - e.spender = meta.Session.query(model.User).first() - e.amount = Currency("100.00") + e = model.Expenditure(meta.Session.query(model.User).first(), + Currency("100")) meta.Session.save(e) e.even_split() meta.Session.commit() @@ -34,9 +33,7 @@ class TestSplitFixed(TestCase): users = meta.Session.query(model.User).all() - e = model.Expenditure() - e.spender = users[0] - e.amount = Currency("100.00") + e = model.Expenditure(users[0], Currency("100")) meta.Session.save(e) split_dict = {users[0]: Decimal("20"), @@ -63,9 +60,7 @@ class TestSplitFixed(TestCase): users = meta.Session.query(model.User).all() - e = model.Expenditure() - e.spender = users[0] - e.amount = Currency("100.00") + e = model.Expenditure(users[0], Currency("100.00")) meta.Session.save(e) split_dict = {users[0]: Decimal(10),