42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
|
|
class InsufficientCreditError(Exception):
|
|
"""Raised when trying to subtract more than available"""
|
|
pass
|
|
|
|
def upgrade(amount, rower):
|
|
if rower.eurocredits > amount: # pragma: no cover
|
|
return rower.eurocredits
|
|
else:
|
|
rower.eurocredits = amount
|
|
rower.save()
|
|
return rower.eurocredits
|
|
return rower.eurocredits # pragma: no cover
|
|
|
|
def withdraw(amount, rower):
|
|
if rower.eurocredits < amount: # pragma: no cover
|
|
rower.eurocredits = 0
|
|
rower.save()
|
|
raise InsufficientCreditError
|
|
else:
|
|
rower.eurocredits = rower.eurocredits - amount
|
|
rower.save()
|
|
return rower.eurocredits
|
|
|
|
return rower.eurocredits # pragma: no cover
|
|
|
|
def discount(amount,rower): # pragma: no cover
|
|
if amount < rower.eurocredits:
|
|
return amount
|
|
else:
|
|
return rower.eurocredits
|
|
|
|
return 0
|
|
|
|
def discounted(amount,rower):
|
|
if amount > rower.eurocredits: # pragma: no cover
|
|
return amount-rower.eurocredits
|
|
else:
|
|
return 0
|
|
|
|
return 0 # pragma: no cover
|