diff --git a/calculomedia.py b/calculomedia.py new file mode 100644 index 0000000..0eb05fe --- /dev/null +++ b/calculomedia.py @@ -0,0 +1,39 @@ +#definir calculo da média +def media(lista): + if not lista: + return 0 + soma = 0 + for numero in lista: + soma += numero + return round(soma / len(lista)) + + +#listas de teste +#os cenários pensando foram situações com lista vazia, lista unitária, lista com numeros repetidos, lista com numeros fora do intervalo. +#lista vazia +lista_vazia = [] +media_esperadaV= 0 +calculo_mediaV= media(lista_vazia) +assert media_esperadaV==calculo_mediaV +print (f'a média é {calculo_mediaV}') + +#lista unitária +lista_unitaria=[1] +media_esperada_unitaria=1 +calaculo_media_unitaria=media(lista_unitaria) +assert media_esperada_unitaria==calaculo_media_unitaria +print(f'a média é {calaculo_media_unitaria}') + +#lista com numeros repitidos +lista_numerosR = [7,7,7,7,7,7,7,7] +media_espera_numerosR=7 +calculo_media_repitidos= media(lista_numerosR) +assert media_espera_numerosR==calculo_media_repitidos +print (f'a média é {calculo_media_repitidos}') + +#lista com numeros fora do intervalo +lista_num_fora_intervalo=[100, 200] +media_esperada_fi=None +calculo_media_fi=media(lista_num_fora_intervalo) +assert calculo_media_fi==calculo_media_fi +print (f'a média é {calculo_media_fi}') \ No newline at end of file diff --git a/exercicios/para-sala/testesunitSEGUNDA-F.py b/exercicios/para-sala/testesunitSEGUNDA-F.py new file mode 100644 index 0000000..b314b44 --- /dev/null +++ b/exercicios/para-sala/testesunitSEGUNDA-F.py @@ -0,0 +1,76 @@ +#SOMA +def soma(a,b): + return a+b + +import unittest + +class TestSoma(unittest.TestCase): + def test_soma_positivos(self): + self.assertAlmostEqual(soma(4,4),8) + + def test_soma_negativos(self): + self.assertAlmostEqual(soma(-4,-4),-8) + + def test_soma_zeros(self): + self.assertAlmostEqual(soma(0,4),4) + + def test_soma_positivos_negativos(self): + self.assertAlmostEqual(soma(-3,3),0) + +if __name__=='__main__': + unittest.main() + +#SUBTRAÇÃO + +def sub(a,b): + return a-b + +class TestSubtra(unittest.TestCase): + def test_subtra_positivos(self): + self.assertEqual(sub(4,4),0) + + + def test_subtra_negativos(self): + self.assertEqual(sub(-4,-4),0) + + def test_subra_positivos_negativos(self): + self.assertEqual(sub(5,-4),9) + +if __name__=='__main__': + #unittest.main() + +#DIVISÃO + + def div(a,b): + return a/b + +class TestDivisao(unittest.TestCase): + def test_divisao_positivos(self): + self.assertEqual(div(4,4),1) + + def test_divisao_negativos(self): + self.assertEqual(div(-4,-2),2) + + def test_divisao_positivos_negativos(self): + self.assertEqual(div(4,-4),-1) + +if __name__=='__main__': + unittest.main() + +#MULTIPLICAÇÃO + +def mult(a,b): + return a*b + +class Testmultiplica(unittest.TestCase): + def test_multiplica_positivos(self): + self.assertEqual(mult(4,4),16) + + def test_multiplica_negativos(self): + self.assertEqual(mult(-4,-2),8) + + def test_multiplica_positivos_negativos(self): + self.assertEqual(mult(4,-4),-16) + +if __name__=='__main__': + unittest.main() \ No newline at end of file diff --git a/testemedia.py b/testemedia.py new file mode 100644 index 0000000..b008fed --- /dev/null +++ b/testemedia.py @@ -0,0 +1,31 @@ +import unittest +from calculomedia import media + +class teste_media_listas(unittest.TestCase): + + def Test_Lista_Vazia(self): + lista_vazia = [] + media_esperadaV= 0 + calculo_mediaV= media(lista_vazia) + self.assertEqual(calculo_mediaV,0) + + def Test_lista_unitaria(self): + lista_unitaria=[1] + media_esperada_unitaria=1 + calaculo_media_unitaria=media(lista_unitaria) + self.assertEqual(calaculo_media_unitaria,1) + + def Test_Lista_Num_Repetidos(self): + lista_numerosR = [7,7,7,7,7,7,7,7] + media_espera_numerosR=7 + calculo_media_repetidos= media(lista_numerosR) + self.assertEqual(calculo_media_repetidos,7) + + def Test_Lista_Num_Fora_Intervalo(self): + lista_num_fora_intervalo=[100, 200] + media_esperada_fi=None + calculo_media_fi=media(lista_num_fora_intervalo) + self.assertEqual(calculo_media_fi,150) + +if __name__=='__main__': + unittest.main() \ No newline at end of file