Exemplo n.º 1
0
 def test_da_bien_el_vuelto(self):
     hardware_device = HardwareDevice()
     hardware_device.expend_coins = 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(1.0))
     
     call_args = hardware_device.expend_coins.call_args
     self.assertSequenceEqual([Coin(0.25), Coin(0.05)], call_args[0][0], "Me devolvió una moneda de 25 y otra de 5", list)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 def test_no_devuelve_monedas_cuando_el_importe_esta_justo(self):
     hardware_device = HardwareDevice()
     hardware_device.expend_coins = 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))
     
     call_args = hardware_device.expend_coins.call_args
     self.assertSequenceEqual([], call_args[0][0], "Me devolvió una moneda de 25 y otra de 5", list)
Exemplo n.º 4
0
 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")