class CashDeskTests(unittest.TestCase): def setUp(self): self.desk = CashDesk() self.desk.bills = [Bill(1), Bill(2), Bill(3)] self.desk2 = CashDesk() self.desk2.bills = [Bill(4), Bill(5), Bill(6)] def test_total(self): self.assertEqual(self.desk.total(), 6) self.assertEqual(self.desk2.total(), 15) def test_take_money_from_a_bill(self): self.desk.take_money(Bill(5)) self.assertEqual(self.desk.total(), 11) self.desk.take_money(BatchBill([Bill(1), Bill(2), Bill(3)])) self.assertEqual(self.desk.total(), 17)
def test_total_works_with_batch_bills(self): bills = [Bill(10), Bill(5), Bill(20)] batch = BillBatch(bills) desk = CashDesk() desk.take_money(batch) self.assertEqual(35, desk.total())
class TestCashDesk(unittest.TestCase): def setUp(self): self.my_cash_desk = CashDesk() def test_total_zero_when_new_instance_made(self): self.assertEqual(0,self.my_cash_desk.total()) def test_total_after_money_take(self): self.my_cash_desk.take_money({1:2,100:3}) self.assertEqual(302, self.my_cash_desk.total()) def test_can_withdraw_money_all_money(self): self.my_cash_desk.take_money({1: 2, 100: 3}) self.assertTrue(self.my_cash_desk.can_withdraw_money(302)) #def test_can_withdraw_money_not_all_money(self): # self.my_cash_desk.take_money({1: 2, 100: 3}) # self.assertTrue(self.my_cash_desk.can_withdraw_money(202)) def test_can_withdraw_money_cant_withdraw(self): self.my_cash_desk = CashDesk() self.my_cash_desk.take_money({1: 2, 100: 3}) self.assertFalse(self.my_cash_desk.can_withdraw_money(105))
def test_total(self): values = [10, 20, 50, 100, 100, 100] bills = [Bill(value) for value in values] batch = BillBatch(bills) desk = CashDesk() desk.take_money(batch) desk.take_money(Bill(10)) total = desk.total() self.assertEqual(total, 390)
def test_checking_total(self): values = [10, 20, 50, 100, 100, 100] bills = [Bill(value) for value in values] batch = BatchBill(bills) desk = CashDesk() desk.take_money(batch) desk.take_money(Bill(10)) result = desk.total() expected = 390
class TestCashDesk(unittest.TestCase): def setUp(self): self.bill = Bill(10) self.batch = BatchBill([Bill(5), Bill(10), Bill(15)]) self.desk = CashDesk() def test_type_of_amount(self): with self.assertRaises(TypeError): Bill("10") def test_value_of_amount(self): with self.assertRaises(ValueError): Bill(-5) def test_take_money_from_bill(self): self.desk.take_money(self.bill) self.assertEqual(self.desk.total(), 10) def test_take_money_from_batch(self): self.desk.take_money(self.batch) self.assertEqual(self.desk.total(), 30) def test_cashdesk_total(self): self.desk.take_money(self.bill) self.desk.take_money(self.batch) self.assertEqual(self.desk.total(), 40) def test_cashdesk_inspect_value(self): self.desk.take_money(self.bill) self.desk.take_money(self.batch) expexted = """We have a total of 40$ in the desk We have the following count of bills, sorted in ascending order: 5$ bills - 1 10$ bills - 2 15$ bills - 1""" self.assertEqual(self.desk.inspect(), expexted)
def test_total(self): e = None values = [10, 20, 50, 100, 100, 100] bills = [Bill(value) for value in values] batch = BatchBill(bills) desk = CashDesk() desk.take_money(batch) try: res = desk.total() except Exception as exc: e = exc self.assertIsNone(e) self.assertEqual(380, res)
class TestCashDesk(unittest.TestCase): def setUp(self): self.kasa = CashDesk() self.kasa.scan('Sandwich') def test_init(self): self.assertEqual( self.kasa.discounts, {'Sandwich': [3, 2], 'Cucumber': [2, 1], 'Apple': [4, 3]}) self.assertEqual( self.kasa.meal_deals, [(['Sandwich', 'Coke', 'Apple'], 3.0, [1, 1, 1]), (['Soup', 'Noodles', 'Custard'], 6.50, [1, 2, 1])]) def test_scan_with_present_item(self): self.kasa.scan('Sandwich') self.assertEqual(self.kasa.scanned_items, {'Sandwich': 2}) def test_scan_with_new_valid_item(self): self.kasa.scan('Apple') self.assertEqual(self.kasa.scanned_items, {'Sandwich': 1, 'Apple': 1}) def test_scan_with_new_invalid_item(self): self.kasa.scan('asd') self.assertEqual(self.kasa.scanned_items, {'Sandwich': 1}) def test_total_method(self): result = self.kasa.total() self.assertEqual(result, 0) def test_calculate_meal_with_missing_item(self): self.kasa.scanned_items = {'Apple': 2} self.kasa.calculate_meal_deals() self.assertEqual(self.kasa.total_price, 0) def test_calculate_discounts(self): self.kasa.scanned_items = {'Soup': 2} self.kasa.calculate_discounts() self.assertEqual(self.kasa.total_price, 0) def test_calculate_all(self): result = self.kasa.calculate_all() self.assertEqual(result, 2.50) def test_cashout(self): self.assertEqual(self.kasa.total_price, 0)
class TestCashDesck(unittest.TestCase): def setUp(self): values = [10, 20, 50, 100, 100, 100] bills = [Bill(value) for value in values] batch = BatchBill(bills) self.desk = CashDesk() self.desk.take_money(batch) self.desk.take_money(Bill(10)) def test_total(self): self.assertEqual(self.desk.total(), 390) def test_inspect(self): expect = "We have a total of 390$ in the desk\n" expect += "We have the following count of bills, sorted in ascending order:\n" expect += "10$ bills - 2\n20$ bills - 1\n50$ bills - 1\n100$ bills - 3" self.assertEqual(self.desk.inspect(), expect)
class TestCashDesk(unittest.TestCase): def setUp(self): self.cash = CashDesk() self.values = [10, 20, 50, 100, 100, 100] self.bills = [Bill(value) for value in self.values] self.batch = BillBatch(self.bills) self.cash.take_money(self.batch) self.cash.take_money(Bill(10)) def test_init(self): self.assertTrue(isinstance(self.cash, CashDesk)) def test_take_money(self): self.assertEqual(self.cash.vault, [self.batch, Bill(10)]) def test_total(self): self.assertEqual(self.cash.total(), 390)
class CashDeskTest(unittest.TestCase): def setUp(self): self.bill = Bill(10) self.batch = BatchBill([Bill(5), Bill(10), Bill(15)]) self.desk = CashDesk() def test_type_of_amount(self): with self.assertRaises(TypeError): Bill("10") def test_value_of_amount(self): with self.assertRaises(ValueError): Bill(-5) def test_batchbill_total(self): self.assertEqual(self.batch.total(), 30) def test_take_money_from_bill(self): self.desk.take_money(self.bill) self.assertEqual(self.desk.gold, 10) def test_take_money_from_batch(self): self.desk.take_money(self.batch) self.assertEqual(self.desk.gold, 30) def test_cashdesk_total(self): self.desk.take_money(self.bill) self.desk.take_money(self.batch) self.assertEqual( self.desk.total(), 'We have a total of 40$ in the bank') def test_cashdesk_inspect_value(self): self.desk.take_money(self.bill) self.desk.take_money(self.batch) self.desk.inspect()
def test_total_after_money_take(self): new_cash_desk = CashDesk() new_cash_desk.take_money({1: 2, 100: 3}) self.assertEqual(302, new_cash_desk.total())
def test_total_works_with_bills(self): desk = CashDesk() desk.take_money(Bill(5)) desk.take_money(Bill(10)) desk.take_money(Bill(10)) self.assertEqual(25, desk.total())
def test_total(self): d = CashDesk() d.take_money(BatchBill([Bill(30),Bill(10),Bill(10)])) d.take_money(Bill(29)) self.assertEqual(d.total(), 79)
def test_total_zero_when_new_instance_made(self): new_cash_desk = CashDesk() self.assertEqual(0, new_cash_desk.total())
def test_total_after_take_money(self): new_cash_desk = CashDesk() new_cash_desk.take_money({1: 2, 100: 3}) self.assertEqual(302, new_cash_desk.total())
def test_can_withdrawSSS_money_all_money(self): new_cash_desk = CashDesk() new_cash_desk.take_money({1: 2, 100: 3}) self.assertTrue(301, new_cash_desk.total())