def test_acerta_todas(self): for suspeito in xrange(1, 7): for local in xrange(1, 11): for arma in xrange(1, 7): real = (suspeito, local, arma) detetive = Detetive() retorno = detetive.proximo_chute() resultado = assassino(retorno, real) while resultado != 0: retorno = detetive.proximo_chute(resultado) resultado = assassino(retorno, real) self.assertEqual(retorno, real)
def setUp(self): self.detetive = Detetive()
class TestDetetive(TestCase): def setUp(self): self.detetive = Detetive() def test_primeiro_chute(self): retorno = self.detetive.proximo_chute() esperado = (1, 1, 1) self.assertEqual(retorno, esperado) def test_acertou_de_cara(self): retorno = self.detetive.proximo_chute(0) esperado = (1, 1, 1) self.assertEqual(retorno, esperado) def test_acertou_depois_de_errar_suspeito(self): self.detetive.proximo_chute(1) retorno = self.detetive.proximo_chute(0) esperado = (2, 1, 1) self.assertEqual(retorno, esperado) def test_acertou_depois_de_errar_local(self): self.detetive.proximo_chute(2) retorno = self.detetive.proximo_chute(0) esperado = (1, 2, 1) self.assertEqual(retorno, esperado) def test_acertou_depois_de_errar_arma(self): self.detetive.proximo_chute(3) retorno = self.detetive.proximo_chute(0) esperado = (1, 1, 2) self.assertEqual(retorno, esperado) def test_segundo_chute_errando_suspeito(self): retorno = self.detetive.proximo_chute(1) esperado = (2, 1, 1) self.assertEqual(retorno, esperado) def test_terceiro_chute_errando_suspeito(self): self.detetive.proximo_chute(1) retorno = self.detetive.proximo_chute(1) esperado = (3, 1, 1) self.assertEqual(retorno, esperado) def test_segundo_chute_errando_local(self): retorno = self.detetive.proximo_chute(2) esperado = (1, 2, 1) self.assertEqual(retorno, esperado) def test_segundo_chute_errando_arma(self): retorno = self.detetive.proximo_chute(3) esperado = (1, 1, 2) self.assertEqual(retorno, esperado) def test_errando_suspeito_e_depois_local(self): self.detetive.proximo_chute(1) retorno = self.detetive.proximo_chute(2) esperado = (2, 2, 1) self.assertEqual(retorno, esperado) def test_errando_suspeito_e_depois_arma(self): self.detetive.proximo_chute(1) retorno = self.detetive.proximo_chute(3) esperado = (2, 1, 2) self.assertEqual(retorno, esperado) def test_errando_local_e_depois_arma(self): self.detetive.proximo_chute(2) retorno = self.detetive.proximo_chute(3) esperado = (1, 2, 2) self.assertEqual(retorno, esperado)