def test_add_many_numbers(): s = range(100) c = Calc() res = c.add(*s) assert res == 4950
class TestCalc(unittest.TestCase): def setUp(self) -> None: self.calc = Calc() def test_add_1(self): self.assertEqual(3, self.calc.add(1, 2)) def test_add_2(self): self.assertEqual(0.03, self.calc.add(0.01, 0.02))
class TestCalc: def setup(self): self.calc = Calc() ''' 1.正数相加 2.负数相加 3.小数相加 4.0相加 ''' # @pytest.mark.parametrize("a,b,result", [ # (1, 2, 3), # (-1, -2, -3), # (0.1, 0.2, 0.3), # (0, 0, 0) # ]) @pytest.mark.parametrize("a,b,result", data()) def test_add(self, a, b, result): assert (self.calc.add(a, b), result) ''' 1.正数相除 2.负数相除 3.小数相除 4.除以0 ''' @pytest.mark.parametrize("a,b,result", [ (1, 2, 0.5), (-1, -2, 0.5), (0.1, 0.2, 0.5), (1, 0, "error") ]) def test_div(self, a, b, result): assert (self.calc.div(a, b), result)
def test_avg_manages_zero_value_upper_outlier(): c = Calc() res = c.avg([-1, 0, 1], ut=0) assert res == -0.5
def test_avg_manages_empty_list_after_outlier_removal(): c = Calc() res = c.avg([12, 98], lt=15, ut=90) assert res == 0
def test_avg_manages_zero_value_lower_outlier(): c = Calc() res = c.avg([-1, 0, 1], lt=0) assert res == 0.5
def test_avg_removes_lower_outliers(): c = Calc() res = c.avg([2, 5, 12, 98], lt=10) assert res == pytest.approx(55)
def test_avg_correct_average(): c = Calc() res = c.avg([2, 3, 4]) assert res == 3
def test_div_two_numbers_float(): c = Calc() res = c.div(13, 2) assert res == 6.5
def test_avg_correct_average(): c = Calc() res = c.avg([2, 5, 12, 98]) assert res == 29.25
def test_mul_two_numbers(): c = Calc() res = c.mul(6, 4) assert res == 24
def test_mul_many_numbers(): s = range(1, 10) assert Calc().mul(*s) == 362880
def test_sum(): n1 = Calc(3, 6) assert n1.sum_call() == 9
def test_add_many_numbers(): s = range(100) assert Calc().add(*s) == 4950
def test_div(self): #self.assertEquals(1,1) n1 = Calc(2, 2) self.assertEquals(n1.div_call(), 1)
def avg_mass(self, data): masses = [float(d['mass']) for d in data if 'mass' in d] avg_mass = Calc().avg(masses) return avg_mass
def setup(self): self._calc = Calc() print("开始计算")
class TestCalc: data = get_data() print(data) @classmethod def setup_class(cls): print("开始计算") @classmethod def teardown_class(cls): print("计算结束") def setup(self): self._calc = Calc() print("开始计算") def teardown(self): print("计算结束") @pytest.mark.parametrize('x, y, except_result', data['add']['datas'], ids=data['add']['ids']) def test_add(self, x, y, except_result): print(f"a={x} , b ={y} ,result={except_result}") result = self._calc.add(x, y) round(result, 2) assert except_result == result @pytest.mark.parametrize('x, y, except_result', data['subtract']['datas'], ids=data['subtract']['ids']) def test_subtract(self, x, y, except_result): result = self._calc.subtract(x, y) round(result, 2) assert except_result == result @pytest.mark.parametrize('x, y, except_result', data['multiply']['datas'], ids=data['multiply']['ids']) def test_multiply(self, x, y, except_result): result = self._calc.multiply(x, y) round(result, 2) assert except_result == result @pytest.mark.parametrize('x, y, except_result', data['divide']['datas'], ids=data['divide']['ids']) def test_divide(self, x, y, except_result): if y == 0: try: self._calc.divide(x, y) except ZeroDivisionError as e: print("You can't divide by zero") else: result = self._calc.divide(x, y) round(result, 2) assert except_result == result if __name__ == '__main__': pytest.main(['-v', '-s'])
def test_avg_removes_upper_outliers(): c = Calc() res = c.avg([2, 5, 12, 98], ut=90) assert res == c.avg([2, 5, 12])
def test_substract_two_numbers(): c = Calc() res = c.sub(10, 3) assert res == 7
def setup(self): self.calc = Calc()
def test_add_two_numbers(): c = Calc() res = c.add(4, 5) assert res == 9
def setUp(self) -> None: self.calc = Calc()
def test_mul_by_zero_raises_exception(): c = Calc() with pytest.raises(ValueError): c.mul(3, 0)
def test_avg_lower_threshold_is_included(): c = Calc() res = c.avg([2, 5, 12, 98], lt=2) assert res == 29.25
def test_div_by_zero_returns_inf(): c = Calc() res = c.div(5, 0) assert res == "inf"
def test_add_three_numbers(): c = Calc() res = c.add(4, 5, 6) assert res == 15
def test_avg_removes_upper_outliers(): c = Calc() res = c.avg([2, 5, 12, 98], ut=90) assert res == pytest.approx(6.333333)
def test_avg_empty_list(): c = Calc() res = c.avg([]) assert res == 0
def test_avg_upper_threshold_is_included(): c = Calc() res = c.avg([2, 5, 12, 98], ut=98) assert res == 29.25
url(r'^amigos/$', pviews.friends, name='friends'), url(r'^registrar/$', 'profiles.views.register', name='register',kwargs={'edit': False}), url(r'^editar/$', 'profiles.views.register', name='edit',kwargs={'edit': True}), url(r'^logout/$', 'profiles.views.logout', name='logout'), url(r'^sobre/$', 'profiles.views.about', name='about'), url(r'^termos/$', 'profiles.views.privacy', name='termos'), url(r'^midia-kit/$', 'profiles.views.midia', name='midia'), # POST para adicionar um novo UserHistory url(r'^historico/$', HistoryView.as_view()), url(r'^post$', WallView.as_view()), # encurtador de urls url(r'^p/(?P<code>[0-9a-f]+)$', ShortenerView.as_view(), {'type': "post"}), url(r'^h/(?P<code>[0-9a-f]+)$', ShortenerView.as_view(), {'type': "history"}), # Calculadora de estatísticas para parar de fumar url(r'^calculadora/', Calc.as_view()), url(r'^(?P<nickname>[0-9a-zA-Z-_\.]+)/$', 'profiles.views.profile', name='profile'), url(r'^(?P<nickname>[0-9a-zA-Z-_\.]+)/(?P<id>\d+)/$', 'social.views.post', name='post'), # chamadas a api de statísticas de usuário (ajax) url(r'^estatistica/(?P<method>[a-z0-9]+)/(?P<nickname>[0-9a-zA-Z-_\.]+)?$', StatsView.as_view()), # Tela de estatísticas do usuário no perfil url(r'^(?P<nickname>[0-9a-zA-Z-_\.]+)/estatistica/', StatsView.as_view(), {'method': "user"}) )