Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
76 changes: 76 additions & 0 deletions exercicios/para-casa/calculadora.py
Original file line number Diff line number Diff line change
@@ -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()
Binary file not shown.
10 changes: 10 additions & 0 deletions exercicios/para-casa/exerc 2/main.py
Original file line number Diff line number Diff line change
@@ -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)}")

24 changes: 24 additions & 0 deletions exercicios/para-casa/exerc 2/media.py
Original file line number Diff line number Diff line change
@@ -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)
34 changes: 34 additions & 0 deletions exercicios/para-casa/exerc 2/test_media.py
Original file line number Diff line number Diff line change
@@ -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)
Binary file not shown.
6 changes: 6 additions & 0 deletions exercicios/para-sala/calculo_media.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
def calcular_media(numeros):
if not numeros:
return 0


return sum(numeros) / len(numeros)
19 changes: 19 additions & 0 deletions exercicios/para-sala/test_calculoMedia.py
Original file line number Diff line number Diff line change
@@ -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()

20 changes: 20 additions & 0 deletions exercicios/para-sala/teste.py
Original file line number Diff line number Diff line change
@@ -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()