Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
 def test_erra_suspeito_e_arma_aleatorio(self):
     retorno = [assassino(acho_que=(1, 1, 1), real=(2, 1, 2)) for _ in xrange(10)]
     self.assertFalse(reduce(lambda a, b: a == b and a, retorno))
Exemplo n.º 4
0
 def test_tres_pessoas_pessoa_tres_fica_viva_passo_2(self):
     self.assertEqual(assassino(3, 2), 3)
Exemplo n.º 5
0
 def test_errou_tudo_de_cara(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(2, 2, 2))
     esperado = (1, 2, 3)
     self.assertTrue(retorno, esperado)
Exemplo n.º 6
0
 def test_errou_tudo_de_cara(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(2, 2, 2))
     esperado = (1, 2, 3)
     self.assertTrue(retorno, esperado)
Exemplo n.º 7
0
 def test_errou_tudo_de_cara_aleatorio(self):
     retorno = [
         assassino(acho_que=(1, 1, 1), real=(2, 2, 2)) for _ in xrange(10)
     ]
     self.assertFalse(reduce(lambda a, b: a == b and a, retorno))
Exemplo n.º 8
0
 def test_erra_suspeito(self):
     retorno = assassino(acho_que=(2, 1, 1), real=(1, 1, 1))
     esperado = 1
     self.assertEqual(retorno, esperado)
Exemplo n.º 9
0
 def test_uma_pessoa_pessoa_um_fica_viva_passo_1(self):
     self.assertEqual(assassino(1, 1), 1)
Exemplo n.º 10
0
 def test_duas_pessoas_pessoa_dois_fica_viva_passo_1(self):
     self.assertEqual(assassino(2, 1), 2)
Exemplo n.º 11
0
 def test_erra_suspeito(self):
     retorno = assassino(acho_que=(2, 1, 1), real=(1, 1, 1))
     esperado = 1
     self.assertEqual(retorno, esperado)
Exemplo n.º 12
0
 def test_quatro_pessoas_pessoa_tres_fica_viva_passo_3(self):
     self.assertEqual(assassino(4, 3), 3)
Exemplo n.º 13
0
 def test_uma_pessoa_pessoa_um_fica_viva_passo_1(self):
     self.assertEqual(assassino(1, 1), 1)
Exemplo n.º 14
0
 def test_tres_pessoas_pessoa_tres_fica_viva_passo_2(self):
     self.assertEqual(assassino(3, 2), 3)
Exemplo n.º 15
0
 def test_nenhuma_pessoa_fica_viva_com_0_pessoas(self):
     self.assertEqual(assassino(0, 1), 0)
Exemplo n.º 16
0
 def test_duas_pessoas_pessoa_dois_fica_viva_passo_1(self):
     self.assertEqual(assassino(2, 1), 2)
Exemplo n.º 17
0
 def test_errou_tudo_de_cara_aleatorio(self):
     retorno = [assassino(acho_que=(1, 1, 1), real=(2, 2, 2)) for _ in xrange(10)]
     self.assertFalse(reduce(lambda a, b: a == b and a, retorno))
Exemplo n.º 18
0
 def test_erra_local(self):
     retorno = assassino(acho_que=(1, 2, 1), real=(1, 1, 1))
     esperado = 2
     self.assertEqual(retorno, esperado)
Exemplo n.º 19
0
 def test_acertou_tudo_de_cara(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(1, 1, 1))
     esperado = 0
     self.assertEqual(retorno, esperado)
Exemplo n.º 20
0
 def test_erra_suspeito_e_local(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(2, 2, 1))
     esperado = (1, 2)
     self.assertTrue(retorno in esperado)
Exemplo n.º 21
0
 def test_erra_local(self):
     retorno = assassino(acho_que=(1, 2, 1), real=(1, 1, 1))
     esperado = 2
     self.assertEqual(retorno, esperado)
Exemplo n.º 22
0
 def test_quatro_pessoas_pessoa_tres_fica_viva_passo_3(self):
     self.assertEqual(assassino(4, 3), 3)
Exemplo n.º 23
0
 def test_erra_arma(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(1, 1, 2))
     esperado = 3
     self.assertEqual(retorno, esperado)
Exemplo n.º 24
0
 def test_erra_arma(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(1, 1, 2))
     esperado = 3
     self.assertEqual(retorno, esperado)
Exemplo n.º 25
0
 def test_erra_local_e_arma(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(1, 2, 2))
     esperado = (2, 3)
     self.assertTrue(retorno in esperado)
Exemplo n.º 26
0
 def test_erra_suspeito_e_local(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(2, 2, 1))
     esperado = (1, 2)
     self.assertTrue(retorno in esperado)
Exemplo n.º 27
0
 def test_erra_suspeito_e_arma_aleatorio(self):
     retorno = [
         assassino(acho_que=(1, 1, 1), real=(2, 1, 2)) for _ in xrange(10)
     ]
     self.assertFalse(reduce(lambda a, b: a == b and a, retorno))
Exemplo n.º 28
0
 def test_erra_local_e_arma(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(1, 2, 2))
     esperado = (2, 3)
     self.assertTrue(retorno in esperado)
Exemplo n.º 29
0
 def test_acertou_tudo_de_cara(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(1, 1, 1))
     esperado = 0
     self.assertEqual(retorno, esperado)
Exemplo n.º 30
0
 def test_nenhuma_pessoa_fica_viva_com_0_pessoas(self):
     self.assertEqual(assassino(0, 1), 0)