Skip to content

Commit

Permalink
Add tests for new Register methods
Browse files Browse the repository at this point in the history
  • Loading branch information
vdumoulin committed Jan 1, 2015
1 parent dfc9d9a commit be8e347
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 10 deletions.
11 changes: 5 additions & 6 deletions register.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
__maintainer__ = "Vincent Dumoulin"
__email__ = "vincent.dumoulin@umontreal.ca"

import io, os, logging, struct
import copy, io, os, logging, struct
from logging.handlers import TimedRotatingFileHandler
from pyplanck.item import Item
from pyplanck.employee import Employee
Expand Down Expand Up @@ -181,12 +181,11 @@ def remove(self, token):
item = self._find_in_order(token)
self._remove_from_order(item)

def get_order_summary(self):
def get_order(self):
"""
WRITEME
Returns a copy of the current order
"""
return [(item.get_barcode(), item.get_name(), quantity)
for item, quantity in self.order.items()]
return copy.deepcopy(self.order)

def clear_order(self):
"""
Expand Down Expand Up @@ -219,7 +218,7 @@ def order_to_string(self):

def get_order_total(self):
"""
WRITEME
Return the current order's total price
"""
return sum(item.get_price() * quantity
for item, quantity in self.order.items())
Expand Down
35 changes: 31 additions & 4 deletions tests/test_register.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,17 @@ def test_register_remove_custom():
assert register.order == final_order


def test_register_get_order_summary():
assert False
def test_register_get_order():
register = Register('tmp/menu.txt', 'tmp/employees.txt',
'tmp/register_count.bin', 'tmp/')
register.login_employee("admin")
items = [
Item("Chocolate bar", 1.0, "001", category="Candy", shortcut=None),
Item("gum", 0.47, "custom_gum", category="Custom", shortcut=None)
]
order = {items[0]: 1, items[1]: 1}
register.order = order
assert register.get_order() == order


def test_register_clear_order():
Expand Down Expand Up @@ -273,8 +282,26 @@ def test_register_order_to_string():
assert all([line in representation for line in correct_representation])


def test_register_get_order_total():
assert False
def test_register_get_order_total_non_empty_order():
register = Register('tmp/menu.txt', 'tmp/employees.txt',
'tmp/register_count.bin', 'tmp/')
register.login_employee("admin")
items = [
Item("Chocolate bar", 1.0, "001", category="Candy", shortcut=None),
Item("gum", 0.47, "custom_gum", category="Custom", shortcut=None)
]
order = {items[0]: 1, items[1]: 1}
register.order = order
assert register.get_order_total() == 1.47


def test_register_get_order_total_empty_order():
register = Register('tmp/menu.txt', 'tmp/employees.txt',
'tmp/register_count.bin', 'tmp/')
register.login_employee("admin")
order = dict()
register.order = order
assert register.get_order_total() == 0.0


def test_register_get_register_count():
Expand Down

0 comments on commit be8e347

Please sign in to comment.