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
86 changes: 86 additions & 0 deletions exercicios/para-casa/calculadora-exercicio-segunda.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@

## atividade casa fazer as operçãoe sfaltantes (bub, mult, div)
def soma(a,b):
return a + b


def sub(a,b):
return a - b

def mult(a,b):
return a * b

def div(a,b):
if b == 0:
# Lidar com o caso de divisão por zero
return "indefinido"
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_zeros(self):
self.assertEqual (soma(0,0), 0)

def test_soma_positivos_negativos(self):
self.assertEqual (soma(-4,2),-2 ) ## assertEquel é um metodo da classe




class TestSub(unittest.TestCase):
def test_sub_positivos(self):
self.assertEqual (sub(3,2), 1)

def test_sub_negativos(self):
self.assertEqual (sub(-3,-3), 0)

def test_sub_zeros(self):
self.assertEqual (sub(0,0), 0)

def test_sub_positivos_negativos(self):
self.assertEqual (sub(-4,2),-6 ) ## assertEquel é um metodo da classe


class TestMult(unittest.TestCase):
def test_mult_positivos(self):
self.assertEqual (mult(3,2), 6)

def test_mult_negativos(self):
self.assertEqual (mult(-3,-3), 9)

def test_mult_zeros(self):
self.assertEqual (mult(0,0), 0)

def test_mult_positivos_negativos(self):
self.assertEqual (mult(-4,2),-8 ) ## assertEquel é um metodo da classe



class TestDiv(unittest.TestCase):
def test_div_positivos(self):
self.assertEqual (div(4,2), 2)

def test_div_negativos(self):
self.assertEqual (div(-6,-3), 2)

def test_div_zeros(self):
self.assertEqual (div(0,0),"indefinido")

def test_div_positivos_negativos(self):
self.assertEqual (div(-8,2),-4 )




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

16 changes: 16 additions & 0 deletions exercicios/para-casa/calculo_media.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
"""def calcular_media(numeros):
if not numeros:
return None
return sum (numeros)/ len(numeros)
"""

def calcular_media(numeros):
numeros_validos = [x for x in numeros if isinstance(x, (int, float))]
if not numeros_validos:
return None
return sum(numeros_validos) / len(numeros_validos)





91 changes: 91 additions & 0 deletions exercicios/para-casa/teste_ca.lculo_media.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
"""Questão 1-
Testes hipotéticos para calcular Média:
1- media da lista vazia - se a lista estivar vazia retorne 0
2 - media divisão por zero - se a soma da media der zero retorna uma media = 0
3 - numeros negativos - a soma dos numero negativa a média retorna uma media megativo
4 - numeros positivos - a soma dos numeros positivos <= 10 retorna umamedia posiviva <=10
5 - numeros maiores que 10 - a soma dos numeros retorna uma media > 10
6 - numeros iguais - a soma dos numeros iguais retorna uma media = e ele mesmo
7 - numeros positivos e negativos intercalados = a soma dos numeros retorna uma media negativo
8 - numeros reais positivos - a somo dos numeros fracionariospositivos retorna uma media fracionaria positiva
9 - um unico numero - o unico numero retorna uma media = a esse numero unico
10 - valores não numeris - a soma dos valores não numericos retorna uma média nula(None)
para realizar esse ultimo modifiquei o função proposta aqui inicialmente
def calcular_media(numeros):
if not numeros:
return None
return sum (numeros)/ len(numeros)
"""


# Quetão 2
import unittest
import math

from calculo_media import calcular_media


class TestCalcularmedia(unittest.TestCase):
def test_media_lista_vazia(self):
resultado = calcular_media([])
self.assertEqual(resultado,None)

def test_media_divisao_por_zero(self):
resultado = calcular_media([0, 0, 0])
self.assertEqual (resultado, 0)


def test_media_numero_negativo(self):
resultado = calcular_media([-2, -3, -1])
self.assertEqual (resultado, -2.0)


def test_media_numero_positivo_menor_ou_igual_10 (self):
resultado = calcular_media([5, 9, 6, 4])
self.assertEqual(resultado,6.0 )


def test_media_numero_maior_que_10(self):
resultado = calcular_media([13, 15, 19,11,10])

self.assertGreater (resultado, 10) # verifica se a media é menor uq 10


def test_media_numeros_iguais(self):
resultado = calcular_media([2,2,2,2,2])

self.assertEqual(resultado, 2.0)


def test_media_positivos_negativos_intercalados(self):
resultado = calcular_media([-3, 5, -9,1,-8])

self.assertLessEqual(resultado, -2.8)


def test_media_reais_positivos(self):
resultado = calcular_media([3.4, 5.8, 9.5,1.2,8.7])

self.assertEqual(resultado, 5.72)


def test_media_nota_unica(self):
resultado = calcular_media([3.4])

self.assertEqual(resultado, 3.4)



def test_media_valores_nao_numericos(self):
resultado = calcular_media(['a', 'b', 'c','d','e'])

self.assertIsNone(resultado, None)


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