def test_dar_boleto_cuando_llega_al_valor(self): hardware_device = HardwareDevice() hardware_device.expend_ticket = Mock() self.maquinita.hardware_device = hardware_device self.maquinita.set_price(1.70) self.maquinita.insert_coin(Coin(1.0)) self.maquinita.insert_coin(Coin(0.50)) self.maquinita.insert_coin(Coin(0.10)) self.maquinita.insert_coin(Coin(0.10)) hardware_device.expend_ticket.assert_called_once_with(1.70)
def test_mensaje_cuando_no_hay_mas_papel(self): hardware_device = HardwareDevice() message = 'No hay más papeeeel!' hardware_device.expend_ticket = Mock(side_effect=NoMorePaperException(message)) hardware_device.display_message = Mock() self.maquinita.hardware_device = hardware_device self.maquinita.set_price(1.70) self.maquinita.insert_coin(Coin(1.0)) self.maquinita.insert_coin(Coin(0.50)) self.maquinita.insert_coin(Coin(0.10)) self.maquinita.insert_coin(Coin(0.10)) hardware_device.expend_ticket.assert_called_once_with(1.70) hardware_device.display_message.assert_called_once_with(message) self.assertEqual(self.maquinita.get_credit(), 0, "El crédito después de emitir un ticket sin papel es cero")