From 62390bc41e6ccf27a5ddaeda2c5bc935a1b5b600 Mon Sep 17 00:00:00 2001 From: Jessica Date: Sat, 16 Sep 2023 12:02:36 -0300 Subject: [PATCH 1/9] exercicio sala --- exercicios/para-sala/teste.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 exercicios/para-sala/teste.py diff --git a/exercicios/para-sala/teste.py b/exercicios/para-sala/teste.py new file mode 100644 index 0000000..380783f --- /dev/null +++ b/exercicios/para-sala/teste.py @@ -0,0 +1,20 @@ +def soma(a ,b): + return a + b + +import unittest + + +class TestSoma(unittest.TestCase): + def test_soma_positivos(self): + self.assertEqual(soma(2, 3), 5) + + def test_soma_negativos(self): + self.assertEqual(soma(-3, -3), -6) + + def test_soma_zero(self): + self.assertEqual(soma(0, 0), 0) + +if __name__ == '__main__': + unittest.main() + + \ No newline at end of file From f22b76e1943d5e43cf275cee4338513100c226fd Mon Sep 17 00:00:00 2001 From: Jessica Date: Mon, 18 Sep 2023 20:17:27 -0300 Subject: [PATCH 2/9] exercicio calculadora --- exercicios/para-casa/calculadora.py | 76 +++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 exercicios/para-casa/calculadora.py diff --git a/exercicios/para-casa/calculadora.py b/exercicios/para-casa/calculadora.py new file mode 100644 index 0000000..b139df6 --- /dev/null +++ b/exercicios/para-casa/calculadora.py @@ -0,0 +1,76 @@ +# Exerc calculadora + +def soma (a,b): + return a + b + +def subtracao (a,b): + return a - b + +def multiplicacao (a,b): + return a * b + +def divisao (a,b): + if b != 0: + return a / b + + +import unittest + +class TesteSoma(unittest.TestCase): + def test_soma_positivo(self): + self.assertEqual(soma(8,7),15) + + def test_soma_negativo(self): + self.assertEqual(soma(-4,-5), -9) + + def test_soma_zero(self): + self.assertEqual(soma(0,0),0) + + def test_soma_postivo_negativo(self): + self.assertEqual(soma(-6,3),-3) + +class TestSubracao(unittest.TestCase): + def test_sub_positivo(self): + self.assertEqual(subtracao(10,4),6) + + def test_sub_negativo(self): + self.assertEqual(subtracao(-8,-5), -3) + + def test_sub_zero(self): + self.assertEqual(subtracao(0,0),0) + + def test_sub_positivo_negativo(self): + self.assertEqual(subtracao(-8,2),-10) + +class TestMult(unittest.TestCase): + def test_mult_positivo(self): + self.assertEqual(multiplicacao(15,3),45) + + def test_mult_negativo(self): + self.assertEqual(multiplicacao(-6,-3),18) + + def test_mult_zero(self): + self.assertEqual(multiplicacao(0,0),0) + + def test_mult_positivo_negativo(self): + self.assertEqual(multiplicacao(-7,3),-21) + +class TestDiv(unittest.TestCase): + def test_div_positivo(self): + self.assertEqual(divisao(24,4),6) + + def test_div_negativo_float(self): + self.assertEqual(divisao(-8,-5), 1.6) + + def test_div_zero1(self): + self.assertEqual(divisao(2,0),None) + + def test_div_zero2(self): + self.assertEqual(divisao(0,3),0) + + def test_div_positivo_negativo(self): + self.assertEqual(divisao(-11,2),-5.5) + + +if __name__ == '__main__': + unittest.main() \ No newline at end of file From 45e072e05ce962d88f2e71f44cf1eba22b91ae2b Mon Sep 17 00:00:00 2001 From: Jessica Date: Mon, 18 Sep 2023 21:49:18 -0300 Subject: [PATCH 3/9] exercicio em sala --- .../__pycache__/calculo_media.cpython-311.pyc | Bin 0 -> 447 bytes exercicios/para-sala/calculo_media.py | 6 ++++++ exercicios/para-sala/test_calculoMedia.py | 12 ++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 exercicios/para-sala/__pycache__/calculo_media.cpython-311.pyc create mode 100644 exercicios/para-sala/calculo_media.py create mode 100644 exercicios/para-sala/test_calculoMedia.py diff --git a/exercicios/para-sala/__pycache__/calculo_media.cpython-311.pyc b/exercicios/para-sala/__pycache__/calculo_media.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c88193e08d5eeabf1019cc99bb7a1abd6f9c01f5 GIT binary patch literal 447 zcmZWkJxc>Y5S_hCOf-p6e}D)=^dRSog=vDdRS@lLWVu_CliS;K_YRGuu&{_=9|dg{ z@y}=%uCcJP@*voxayK6$I_$iedGlt5eJqvcK-t@8o(3wu>tbqXk_?I}>46KEa0o6s z0LyTuJuS&7HG`U%9WDn(AgFkfffjeWW!)X&F@ TmsOIQ2%*%-qO}zM!)X2+cDH90 literal 0 HcmV?d00001 diff --git a/exercicios/para-sala/calculo_media.py b/exercicios/para-sala/calculo_media.py new file mode 100644 index 0000000..909d5ef --- /dev/null +++ b/exercicios/para-sala/calculo_media.py @@ -0,0 +1,6 @@ +def calcular_media(numeros): + if not numeros: + return 0 + + + return sum(numeros) / len(numeros) \ No newline at end of file diff --git a/exercicios/para-sala/test_calculoMedia.py b/exercicios/para-sala/test_calculoMedia.py new file mode 100644 index 0000000..cd91407 --- /dev/null +++ b/exercicios/para-sala/test_calculoMedia.py @@ -0,0 +1,12 @@ +import unittest +from calculo_media import calcular_media + +class TestCalcularMedia(unittest.TestCase): + def test_media_lista_vazia(self): + resultado = calcular_media([]) + self.assertEqual(resultado, 0) + + + +if __name__ == '__main__': + unittest.main() \ No newline at end of file From 2843556029afc425cc42e685e6b15b52accfef89 Mon Sep 17 00:00:00 2001 From: Jessica Date: Mon, 18 Sep 2023 21:56:02 -0300 Subject: [PATCH 4/9] exercicio em sala --- exercicios/para-sala/test_calculoMedia.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/exercicios/para-sala/test_calculoMedia.py b/exercicios/para-sala/test_calculoMedia.py index cd91407..4ab4f0d 100644 --- a/exercicios/para-sala/test_calculoMedia.py +++ b/exercicios/para-sala/test_calculoMedia.py @@ -1,6 +1,12 @@ import unittest from calculo_media import calcular_media + +#Cenários de Teste +#1. uma lista composta por zeros - resultado zero +#2. uma lista vazia - resultado zero + + class TestCalcularMedia(unittest.TestCase): def test_media_lista_vazia(self): resultado = calcular_media([]) @@ -9,4 +15,5 @@ def test_media_lista_vazia(self): if __name__ == '__main__': - unittest.main() \ No newline at end of file + unittest.main() + From dbf189568885a039a595acc480f0863625201745 Mon Sep 17 00:00:00 2001 From: Jessica Date: Wed, 20 Sep 2023 19:00:45 -0300 Subject: [PATCH 5/9] exercicio 2 casa --- .../para-casa/__pycache__/media.cpython-311.pyc | Bin 0 -> 644 bytes exercicios/para-casa/main.py | 7 +++++++ exercicios/para-casa/media.py | 6 ++++++ 3 files changed, 13 insertions(+) create mode 100644 exercicios/para-casa/__pycache__/media.cpython-311.pyc create mode 100644 exercicios/para-casa/main.py create mode 100644 exercicios/para-casa/media.py diff --git a/exercicios/para-casa/__pycache__/media.cpython-311.pyc b/exercicios/para-casa/__pycache__/media.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4c7e0e56559eda4a59e1f64babd2963be5d0a673 GIT binary patch literal 644 zcmb7Cy-UMD6n~ebel+c-O9#nT0>)?siy&@Y9EvD7h#*ID+DP-^T?%dKAmZZItuBsM zw10|AD-IHHa&jwlbMhrv@dH60cfWh@-tYbH^E#VN1KQn@%IrpIY;R0~Q}RWN z{7XyvuGNATX`;3*H&p;Ug;H+j>RP~=hrN(9>toWWOm`goc zG<~nIVg$*YAr^~9$OJZ%)fu-O%khO7P)-et3TnE{cIZOTh$a(nzrf>{jNd`*Ae_LH zI@>SNqD$2$i9%lVq(M;CPY1 jrx9MK)?DANRoObvVi Date: Wed, 20 Sep 2023 19:22:01 -0300 Subject: [PATCH 6/9] exercicio 2 casa --- .../para-casa/__pycache__/media.cpython-311.pyc | Bin 644 -> 650 bytes exercicios/para-casa/main.py | 5 ++++- exercicios/para-casa/media.py | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/exercicios/para-casa/__pycache__/media.cpython-311.pyc b/exercicios/para-casa/__pycache__/media.cpython-311.pyc index 4c7e0e56559eda4a59e1f64babd2963be5d0a673..a983735d7b2f4fae441acab3df0f0956a5b531b0 100644 GIT binary patch delta 98 zcmZo+?PBF!&dbZi00cP&+^IJv@_uHORZyx>nk>gC$yNnqR)UxpjXf@~cwEr*xX9vh j1;}9WxXUd%p>VG8Qq~zd7rE81aI1slQI$+qVoCx4Z^<6b delta 112 zcmeBTZDHkI&dbZi00gJAxKl4p Date: Wed, 20 Sep 2023 19:43:26 -0300 Subject: [PATCH 7/9] exercicio 2 casa --- exercicios/para-casa/media.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/exercicios/para-casa/media.py b/exercicios/para-casa/media.py index d17e3d6..13870d9 100644 --- a/exercicios/para-casa/media.py +++ b/exercicios/para-casa/media.py @@ -1,6 +1,24 @@ #Teste - Média Aritmética def media_2 (x, y): + + """media x e y + + >>> media_2(10, 6.5) + 8.25 + + >>> media_2('15', 15) + Traceback (most recent call last): + ... + AssertionError: "x" precisa ser int ou float + """ + assert isinstance (x, (int, float)), ' "x" precisa ser int ou float' assert isinstance (y, (int, float)), ' "y" precisa ser int ou float' return (x + y)/2 + + +# teste usando doctest +if __name__ == '__main__': + import doctest + doctest.testmod(verbose=True) From 07624e35bb359574783b3d8f41d4fe23f89a000b Mon Sep 17 00:00:00 2001 From: Jessica Date: Wed, 20 Sep 2023 20:09:23 -0300 Subject: [PATCH 8/9] exercicio 2 casa --- .../exerc 2/__pycache__/media.cpython-311.pyc | Bin 0 -> 993 bytes exercicios/para-casa/exerc 2/main.py | 10 ++++++++++ exercicios/para-casa/{ => exerc 2}/media.py | 8 ++++---- exercicios/para-casa/exerc 2/test_media.py | 10 ++++++++++ exercicios/para-casa/main.py | 10 ---------- 5 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 exercicios/para-casa/exerc 2/__pycache__/media.cpython-311.pyc create mode 100644 exercicios/para-casa/exerc 2/main.py rename exercicios/para-casa/{ => exerc 2}/media.py (84%) create mode 100644 exercicios/para-casa/exerc 2/test_media.py delete mode 100644 exercicios/para-casa/main.py diff --git a/exercicios/para-casa/exerc 2/__pycache__/media.cpython-311.pyc b/exercicios/para-casa/exerc 2/__pycache__/media.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..beb7610eadaa4cf4da6b29b932872010409ec327 GIT binary patch literal 993 zcmb7C&rcIU6n?Wi1#C-9L^PV13>++*&~A%CA~8)&M2QFd0SCjS8FmL*=;wUP z*PC;*&w}<76>NeJYcLB8`Dn?~h`8xnzFoCuEen{nc+LhNe@X2qtvxkQ4S{b@o9T3U zruGa-sa4mtca__OxKjbJ0`YIm7@t+BW!~CR$X*AP>1W`h9fj<5Nbk`FE%aYn)@7{~ zSV2vt?c2=^z%)3xxf?P+prlS1X{6IcS-D&$COK3p4wKTTW3r`@!sul@S1RUyF=hny z*c|ni$WX{-Oa${-6cdkDtE5V0?2H?sLZM*RM^Z8o2Rxb(f{SrN2J3^QriubdiGoO= ziup2`uW}ljisqfaax~odv&6A}XU9&`fea!U)5v3qtO(a8OL&E)d3IF^r@RKsO;CcMB4xO8h& z(7Z<_Jx!7k*F0~b)<{w&61sJD`^eYIt-_DnkiD_-_T#VrE)DBA=K)+iuzm7ad!b{ uKQzDEw_0GK!6STabxMCnxNr68+Vic)`*`304;>> media_2(10, 6.5) - 8.25 + >>> media(10, 15) + 12.5 - >>> media_2('15', 15) + >>> media('10', 15) Traceback (most recent call last): ... AssertionError: "x" precisa ser int ou float diff --git a/exercicios/para-casa/exerc 2/test_media.py b/exercicios/para-casa/exerc 2/test_media.py new file mode 100644 index 0000000..4bf5a22 --- /dev/null +++ b/exercicios/para-casa/exerc 2/test_media.py @@ -0,0 +1,10 @@ +import unittest #importando o modulo +from media import media + + +class TestMedia(unittest.TestCase): #fazendo a minha class herdar o test case do modulo + def test_media_10_e_15_deve_retornar_12emeio(self): + self.assertEqual(media(10, 15), 12.5) + + +unittest.main(verbosity=2) diff --git a/exercicios/para-casa/main.py b/exercicios/para-casa/main.py deleted file mode 100644 index 32619c3..0000000 --- a/exercicios/para-casa/main.py +++ /dev/null @@ -1,10 +0,0 @@ -from media import media_2 - - -try: - print(media_2('15',15)) -except AssertionError as e: - print(f"Resultado inválido: \n {e}") - -print(f"\n O resultado da média entre 10 e 6.5 é: {media_2(10, 6.5)}") - From eb4c38a49e2fb93503f806693375a3a01362f80c Mon Sep 17 00:00:00 2001 From: Jessica Date: Wed, 20 Sep 2023 20:30:28 -0300 Subject: [PATCH 9/9] exercicio 2 casa --- exercicios/para-casa/exerc 2/test_media.py | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/exercicios/para-casa/exerc 2/test_media.py b/exercicios/para-casa/exerc 2/test_media.py index 4bf5a22..869a527 100644 --- a/exercicios/para-casa/exerc 2/test_media.py +++ b/exercicios/para-casa/exerc 2/test_media.py @@ -5,6 +5,30 @@ class TestMedia(unittest.TestCase): #fazendo a minha class herdar o test case do modulo def test_media_10_e_15_deve_retornar_12emeio(self): self.assertEqual(media(10, 15), 12.5) + + def test_media_x_nao_e_int_ou_float_deve_retornar_assertionerror(self): + with self.assertRaises(AssertionError): + media('10', 15) + + def test_media_y_nao_e_int_ou_float_deve_retornar_assertionerror(self): + with self.assertRaises(AssertionError): + media(10, '15') + + def test_media_varias_entradas(self): + x_y_saidas = ( + (10, 10, 10), + (10, 5, 7.5), + (8, 10, 9), + (5, 9, 7), + (1.5, 1.5, 1.5), + ) + + for x_y_saida in x_y_saidas: + with self.subTest(x_y_saida=x_y_saida): + x, y, saida = x_y_saida + self.assertEqual(media(x, y), saida) + + unittest.main(verbosity=2)