Make a Context Manager to handle precision of operations
with operation_precision(mode=PrecisionMode.Full):
assert (Sexagesimal(1) + Sexagesimal("0;0,0,5")).equals(Sexagesimal("1;0,0,5"))
with operation_precision(mode=PrecisionMode.Sci):
assert (Sexagesimal(1) + Sexagesimal("0;15")).equals(Sexagesimal(1, remainder=Decimal("0.25")))
with operation_precision(mode=PrecisionMode.Sci, round=True):
assert (Sexagesimal(1) + Sexagesimal("0;50")).equals(Sexagesimal(2))
with operation_precision(mode=PrecisionMode.Sci, trunc=True):
assert (Sexagesimal(1) + Sexagesimal("0;50")).equals(Sexagesimal(1))
with operation_precision(precision=3):
assert (Sexagesimal(1) + Sexagesimal("0;50")).equals(Sexagesimal("1;50,0,0"))