Estou testando uma classe de Bhaskara com pytest e está me retornando um erro, não estou conseguindo identificar. Obrigado
Classe Bhaskara
import math
class Bhaskara:
def delta(self, a, b, c):
return b ** 2 - 4 * a * c
def main(self):
a = float(input('Digite o valor de A: '))
b = float(input('Digite o valor de B: '))
c = float(input('Digite o valor de C: '))
print(self.calcula_raizes(a, b, c))
def calcula_raizes(self, a, b, c):
d = self.delta(a, b, c)
if d == 0:
raiz1 = (-b + math.sqrt(d)) / (2 * a)
return 1, raiz1
else:
if d < 0:
return 0
else:
raiz1 = (-b + math.sqrt(d)) / (2 * a)
raiz2 = (-b - math.sqrt(d)) / (2 * a)
return 2, raiz1, raiz2
Classe Test_Bhaskara
import Bhaskara
import pytest
class Test_Bhaskara:
@pytest.fixture
def b(self):
return Bhaskara.Bhaskara()
@pytest.mark.parametrize("entrada, saida", [
((1, 0, 0), (1, 0,)),
((1, -5, 6), (2, 3, 2)),
((10, 10, 10), (0,)),
((10, 20, 10), (1, -1))
])
def testa_bhaskara(self, entrada, saida):
assert self.b.calcula_raizes(entrada) == saida
Saída do pytest
___ Test_Bhaskara.testa_bhaskara[entrada3-saida3] ___
self = <Test_Bhaskara.Test_Bhaskara instance at 0x7f41be4d2950>
entrada = (10, 20, 10), saida = (1, -1)
@pytest.mark.parametrize("entrada, saida", [
((1, 0, 0), (1, 0,)),
((1, -5, 6), (2, 3, 2)),
((10, 10, 10), (0,)),
((10, 20, 10), (1, -1))
])
def testa_bhaskara(self, entrada, saida):
> assert self.b.calcula_raizes111(entrada) == saida
E AttributeError: 'function' object has no attribute 'calcula_raizes'
Test_Bhaskara.py:18: AttributeError
=== 4 failed in 0.04 seconds ===