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.
20 changes: 20 additions & 0 deletions exercicios/para-casa/average.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
def calcular_media(numeros):
if not numeros:
return None

return sum(numeros)/len(numeros)


def main():
numeros = []

while True:
try:
numero = float(input("Digite um número para calcular a média. Se não tiver mais números, digite S\n"))
numeros.append(numero)
except(ValueError):
break
print(f"A média é: {calcular_media(numeros)}")

if __name__ == "__main__":
main()
49 changes: 49 additions & 0 deletions exercicios/para-casa/average_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
'''
1. Faça um arquivo contendo todos os cenários de teste mapeados por você, com descrição e resultado esperado (entrega em formato PDF)
2. Faça um Arquivo python calculando a média de uma lista de números
3. Faça um arquivo de teste, que contenha todos os testes mapeados por você (passo 1), para testar o arquivo python que você calculou as médias

Testa se lista vazia
Testa todos os números são iguais
Testa todos os números iguais a zero
Testa números negativos
Testa números negativos e positivos
Testa números float
'''

import unittest
from average import calcular_media

class TestCalcularMedia(unittest.TestCase):
#Testa se lista vazia
def test_media_lista_vazia(self):
resultado = calcular_media([])
self.assertEqual(resultado, None)

#Testa todos os números são iguais
def test_media_lista_igual(self):
self.assertEqual(calcular_media([5, 5, 5]), 5)

#Testa todos os números iguais a zero
def test_media_lista_zeros(self):
self.assertEqual(calcular_media([0, 0, 0]), 0)

#Testa números negativos
def test_media_lista_negativos(self):
self.assertEqual(calcular_media([-5, -4, -3]), -4)

#Testa números negativos e positivos
def test_media_lista_neg_pos(self):
self.assertEqual(calcular_media([-5, 0, 5]), 0)

#Testa números float
def test_media_lista_float(self):
self.assertEqual(calcular_media([5.5, 6.5, 7.5]), 6.5)

#Testa erro de tipo de dado
def test_media_tipo(self):
with self.assertRaises(TypeError):
calcular_media("a", "b")

if __name__ == "__main__":
unittest.main()
63 changes: 63 additions & 0 deletions exercicios/para-sala/calc_teste.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@

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):
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(-5, -3), -8)

def test_soma_zero(self):
self.assertEqual(soma(0, 0), 0)

class TestSubtracao(unittest.TestCase):
def test_subtracao_positivos(self):
self.assertEqual(subtracao(3, 2), 1)
self.assertEqual(subtracao(2, 3), -1)

def test_subracao_negativos(self):
self.assertEqual(subtracao(-2, -3), 1)
self.assertEqual(subtracao(-3, -2), -1)

def test_subracao_zero(self):
self.assertEqual(subtracao(0, 0), 0)

class TestMultiplicacao(unittest.TestCase):
def test_multiplicacao_positivos(self):
self.assertEqual(multiplicacao(3, 2), 6)

def test_multiplicacao_negativos(self):
self.assertEqual(multiplicacao(-3, -2), 6)
self.assertEqual(multiplicacao(-3, 2), -6)

def test_multiplicacao_zero(self):
self.assertEqual(multiplicacao(0, 0), 0)
self.assertEqual(multiplicacao(0, 3), 0)

class TestDivisao(unittest.TestCase):
def test_divisao_positivos(self):
self.assertEqual(divisao(10, 2), 5)

def test_divisao_negativos(self):
self.assertEqual(divisao(-10, 2), -5)

def test_divisao_zero(self):
self.assertEqual(divisao(0, 3), 0)
with self.assertRaises(ZeroDivisionError):
divisao(5, 0)

if __name__ == "__main__":
unittest.main()