def tax(self): """Returns a Tax object representing the taxes applied to the line. """ if self.tax_percent and self.tax_category: return Tax(self.tax_percent, self.tax_category, self.tax_name or "") else: return None
def test_initialization(self): t = Tax(0.21, "S", "IVA") assert t
def test_value_error_bad_category(self): with pytest.raises(ValueError): t = Tax("21", "asd", "IVA")
def test_value_error_bad_percent(self): with pytest.raises(ValueError): t = Tax("asdf", "S", "IVA")
def test_cmp_with_None(self): t = Tax("21", "S", "IVA") assert not (t == None)
def test_percent_string(self): t = Tax("21", "S", "IVA") assert t.percent == 0.21
def test_percent_more_than_one(self): t = Tax(21, "S", "IVA") assert t.percent == 0.21
def test_percent_less_than_one(self): t = Tax(0.21, "S", "IVA") assert t.percent == 0.21
def test_hashable(self): t = Tax(0.21, "S", "IVA") assert isinstance(t, Hashable)
def tax2(): return Tax(0.1, "S", None)
def tax1(): return Tax(0.21, "S", None)