def __reconstruct_total_excl_from_tcc_and_taxes(self):
     """
     Set self.total_excl with Amount object
     The total_excl Amount value is the difference between total_incl and sum of taxes
     The total_excl Amount probability is the product of self.taxes probabilities multiplied by total_incl probability
     """
     if len(self.taxes) and self.total_incl.value is not None:
         total_excl = {
             "value": self.total_incl.value - Field.array_sum(self.taxes),
             "probability": Field.array_probability(self.taxes) * self.total_incl.probability
         }
         self.total_excl = Amount(total_excl, value_key="value", reconstructed=True)
Beispiel #2
0
def test_array_sum():
    fields = [Field({"value": 1, "probability": 0.1}), Field({"value": 2, "probability": 0.8})]
    assert Field.array_sum(fields) == 3
    fields = [Field({"value": None, "probability": 0.1}), Field({"value": 4, "probability": 0.8})]
    assert Field.array_sum(fields) == 0.