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 0000000..a983735 Binary files /dev/null and b/exercicios/para-casa/__pycache__/media.cpython-311.pyc differ 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 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 0000000..beb7610 Binary files /dev/null and b/exercicios/para-casa/exerc 2/__pycache__/media.cpython-311.pyc differ diff --git a/exercicios/para-casa/exerc 2/main.py b/exercicios/para-casa/exerc 2/main.py new file mode 100644 index 0000000..fcf6317 --- /dev/null +++ b/exercicios/para-casa/exerc 2/main.py @@ -0,0 +1,10 @@ +from media import media + + +try: + print(media('10',15)) +except AssertionError as e: + print(f"Resultado inválido: \n {e}") + +print(f"\n O resultado da média entre 10 e 15 é: {media(10, 15)}") + diff --git a/exercicios/para-casa/exerc 2/media.py b/exercicios/para-casa/exerc 2/media.py new file mode 100644 index 0000000..21c6fdf --- /dev/null +++ b/exercicios/para-casa/exerc 2/media.py @@ -0,0 +1,24 @@ +#Teste - Média Aritmética + +def media (x, y): + + """media x e y + + >>> media(10, 15) + 12.5 + + >>> media('10', 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) 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..869a527 --- /dev/null +++ b/exercicios/para-casa/exerc 2/test_media.py @@ -0,0 +1,34 @@ +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) + + 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) 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 0000000..c88193e Binary files /dev/null and b/exercicios/para-sala/__pycache__/calculo_media.cpython-311.pyc differ 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..4ab4f0d --- /dev/null +++ b/exercicios/para-sala/test_calculoMedia.py @@ -0,0 +1,19 @@ +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([]) + self.assertEqual(resultado, 0) + + + +if __name__ == '__main__': + unittest.main() + 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