diff --git a/.gitignore b/.gitignore index 1377554..b948985 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.swp +*.pyc diff --git a/2011-04-16/retrospectiva.markdown b/2011-04-16/retrospectiva.markdown new file mode 100644 index 0000000..cff30fc --- /dev/null +++ b/2011-04-16/retrospectiva.markdown @@ -0,0 +1,26 @@ +:) + +- coffee break +++++++ +- troca de ideias e experiências durante coffee break +- dojo no final de semana +- veio um monte de gente +- todo mundo participou +- semáforo +- infraestrutura +- organização bacana + +:( + +- timidez no início +- faltou sinalização de onde era o dojo +- atraso para começar +- pares falando baixo + +Melhorar + +- cartaz explicando funcionamento do dojo +- explicar melhor TDD +- variar linguagem +- sinalizar melhor o Città +- sugestão de linguagem por novatos +- pares têm que falar mais alto diff --git a/2011-04-16/telefone/telefone.py b/2011-04-16/telefone/telefone.py new file mode 100644 index 0000000..24bbae7 --- /dev/null +++ b/2011-04-16/telefone/telefone.py @@ -0,0 +1,25 @@ +# coding: utf-8 + +def telefone(entradas): + + dicionario_letras = { + 'abc': '2', + 'def': '3', + 'ghi': '4', + 'jkl': '5', + 'mno': '6', + 'pqrs': '7', + 'tuv': '8', + 'wxyz': '9', + } + + lista = [] + + for entrada in entradas: + for intervalo, numero in dicionario_letras.items(): + if entrada in intervalo: + lista.append(numero) + + if entrada in '01-': + return str(entrada) + raise ValueError("Caractere não permitido") diff --git a/2011-04-16/telefone/tests.py b/2011-04-16/telefone/tests.py new file mode 100644 index 0000000..6c30cd3 --- /dev/null +++ b/2011-04-16/telefone/tests.py @@ -0,0 +1,65 @@ +import unittest + +from telefone import telefone + + +class TestTelefone(unittest.TestCase): + def test_hifen_retorna_hifen(self): + self.assertEquals(telefone("-"), "-") + + def test_zero_retorna_zero(self): + self.assertEquals(telefone("0"), "0") + + def test_um_retorna_um(self): + self.assertEquals(telefone("1"), "1") + + def test_a_ou_b_ou_c_retorna_2(self): + self.assertEquals(telefone("a"), "2") + self.assertEquals(telefone("b"), "2") + self.assertEquals(telefone("c"), "2") + + def test_d_ou_e_ou_f_retorna_3(self): + self.assertEquals(telefone("d"), "3") + self.assertEquals(telefone("e"), "3") + self.assertEquals(telefone("f"), "3") + + def test_g_ou_h_ou_i_retorna_4(self): + self.assertEquals(telefone("g"), "4") + self.assertEquals(telefone("h"), "4") + self.assertEquals(telefone("i"), "4") + + def test_j_ou_k_ou_l_retorna_5(self): + self.assertEquals(telefone("j"), "5") + self.assertEquals(telefone("k"), "5") + self.assertEquals(telefone("l"), "5") + + def test_m_ou_n_ou_o_retorna_6(self): + self.assertEquals(telefone("m"), "6") + self.assertEquals(telefone("n"), "6") + self.assertEquals(telefone("o"), "6") + + def test_p_ou_q_ou_r_ou_s_retorna_7(self): + self.assertEquals(telefone("p"), "7") + self.assertEquals(telefone("q"), "7") + self.assertEquals(telefone("r"), "7") + self.assertEquals(telefone("s"), "7") + + def test_t_ou_u_ou_v_retorna_8(self): + self.assertEquals(telefone("t"), "8") + self.assertEquals(telefone("u"), "8") + self.assertEquals(telefone("v"), "8") + + def test_w_ou_x_ou_y_ou_z_retorna_9(self): + self.assertEquals(telefone("w"), "9") + self.assertEquals(telefone("x"), "9") + self.assertEquals(telefone("y"), "9") + self.assertEquals(telefone("z"), "9") + + def test_tralha_levanta_excecao(self): + self.assertRaises(ValueError, telefone, "#") + + def test_casa_retorna_2272(self): + self.assertEquals(telefone("casa"), "2272") + + +unittest.main()