def test_with_given_multi_bill_cashdesk_and_bill_occurs_more_than_ones_should_print_in_ascending_order_of_amount_of_bill(
            self):
        cashdesk = Cashdesk()
        cashdesk.take_money(Bill(10))
        batch = BillBatch([Bill(i) for i in range(1, 5)])
        cashdesk.take_money(batch)
        cashdesk.take_money(batch)

        expected = '1$ bills - 2\n2$ bills - 2\n3$ bills - 2\n4$ bills - 2\n10$ bills - 1\n'

        self.assertEqual(cashdesk.__repr__(), expected)
    def test_with_given_one_bill_cashdesk_should_print_correctly(self):
        cashdesk = Cashdesk()
        cashdesk.take_money(Bill(10))

        expected = '10$ bills - 1\n'
        self.assertEqual(cashdesk.__repr__(), expected)
    def test_with_given_empty_cashdesk_should_print_empty_string(self):
        cashdesk = Cashdesk()

        expected = ''

        self.assertEqual(cashdesk.__repr__(), expected)