def test_telefonar_um_contato(self): telefonista = Telefonista() telefone_mock = Mock() telefonista._telefone = telefone_mock telefone_mock.telefonar = Mock(return_value='Tel fake para 2345678') contato = ('Renzo', '2345678') telefonista.adicionar_contato(*contato) resultado_da_ligacao = telefonista.ligar() telefone_mock.telefonar.assert_called_once_with('2345678') self.assertEqual('Contato Renzo, Tel fake para 2345678', resultado_da_ligacao)
def test_ligar_para_um_contato(self): renzo = ('Renzo', '2345678') telefonista_obj = telefonista.Telefonista() telefonista_obj.adicionar(renzo) telefone_de_mentira = Mock() telefone_de_mentira.telefonar = Mock(return_value='Telefonando de mentira para 2345678') telefonista_obj._telefone = telefone_de_mentira ligacoes = list(telefonista_obj.ligar()) self.assertListEqual(['Telefonando de mentira para 2345678. Olá Renzo'], ligacoes) telefone_de_mentira.telefonar.assert_called_once_with(renzo[1])
def test_ligar_para_dois_contato(self): renzo = ('Renzo', '2345678') karen = ('Karen', '8765432') telefonista_obj = telefonista.Telefonista() telefonista_obj.adicionar(renzo) telefonista_obj.adicionar(karen) def side_effect(numero): return 'Telefonando de mentira para {}'.format(numero) telefone_de_mentira = Mock() telefone_de_mentira.telefonar = Mock(side_effect=side_effect) telefonista_obj._telefone = telefone_de_mentira ligacoes = list(telefonista_obj.ligar()) self.assertListEqual(['Telefonando de mentira para 2345678. Olá Renzo', 'Telefonando de mentira para 8765432. Olá Karen'], ligacoes) telefone_de_mentira.telefonar.assert_any_call('2345678') telefone_de_mentira.telefonar.assert_any_call('8765432') self.assertEqual(2, telefone_de_mentira.telefonar.call_count)