예제 #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)
예제 #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)
예제 #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))
예제 #4
0
 def test_tres_pessoas_pessoa_tres_fica_viva_passo_2(self):
     self.assertEqual(assassino(3, 2), 3)
예제 #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)
예제 #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)
예제 #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))
예제 #8
0
 def test_erra_suspeito(self):
     retorno = assassino(acho_que=(2, 1, 1), real=(1, 1, 1))
     esperado = 1
     self.assertEqual(retorno, esperado)
예제 #9
0
 def test_uma_pessoa_pessoa_um_fica_viva_passo_1(self):
     self.assertEqual(assassino(1, 1), 1)
예제 #10
0
 def test_duas_pessoas_pessoa_dois_fica_viva_passo_1(self):
     self.assertEqual(assassino(2, 1), 2)
예제 #11
0
 def test_erra_suspeito(self):
     retorno = assassino(acho_que=(2, 1, 1), real=(1, 1, 1))
     esperado = 1
     self.assertEqual(retorno, esperado)
예제 #12
0
 def test_quatro_pessoas_pessoa_tres_fica_viva_passo_3(self):
     self.assertEqual(assassino(4, 3), 3)
예제 #13
0
 def test_uma_pessoa_pessoa_um_fica_viva_passo_1(self):
     self.assertEqual(assassino(1, 1), 1)
예제 #14
0
 def test_tres_pessoas_pessoa_tres_fica_viva_passo_2(self):
     self.assertEqual(assassino(3, 2), 3)
예제 #15
0
 def test_nenhuma_pessoa_fica_viva_com_0_pessoas(self):
     self.assertEqual(assassino(0, 1), 0)
예제 #16
0
 def test_duas_pessoas_pessoa_dois_fica_viva_passo_1(self):
     self.assertEqual(assassino(2, 1), 2)
예제 #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))
예제 #18
0
 def test_erra_local(self):
     retorno = assassino(acho_que=(1, 2, 1), real=(1, 1, 1))
     esperado = 2
     self.assertEqual(retorno, esperado)
예제 #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)
예제 #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)
예제 #21
0
 def test_erra_local(self):
     retorno = assassino(acho_que=(1, 2, 1), real=(1, 1, 1))
     esperado = 2
     self.assertEqual(retorno, esperado)
예제 #22
0
 def test_quatro_pessoas_pessoa_tres_fica_viva_passo_3(self):
     self.assertEqual(assassino(4, 3), 3)
예제 #23
0
 def test_erra_arma(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(1, 1, 2))
     esperado = 3
     self.assertEqual(retorno, esperado)
예제 #24
0
 def test_erra_arma(self):
     retorno = assassino(acho_que=(1, 1, 1), real=(1, 1, 2))
     esperado = 3
     self.assertEqual(retorno, esperado)
예제 #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)
예제 #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)
예제 #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))
예제 #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)
예제 #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)
예제 #30
0
 def test_nenhuma_pessoa_fica_viva_com_0_pessoas(self):
     self.assertEqual(assassino(0, 1), 0)