def test_AddModHex(test_data_dir): # Reading test data from the file with open(test_data_dir / "testData_AddModHex", "r") as addModHex_txt: for x in addModHex_txt: decNumber = x.split(",") # Add modulo of big numbers of arbitrary precision in hex actual_Value = PyBigNumbers.Add_mod_Hex(decNumber[0], decNumber[1], decNumber[2]) expected_Value = decNumber[3].rstrip("\n") # Verifying the actual value with expected value assert actual_Value.lstrip( "0") == expected_Value.upper(), "Test failed"
def __add__(self, obj): if (self.isDec): if (self.mod is None): sumVal = PyBigNumbers.addFromDec(self.value, obj.value) else: #check for self.mod == obj.mod sumVal = PyBigNumbers.Add_mod_Dec(self.value, obj.value, self.mod) retVal = BigNum(sumVal, self.mod, self.isDec) return retVal else: if (self.mod is None): sumVal = PyBigNumbers.addFromHex(self.value, obj.value) else: #check for self.mod == obj.mod sumVal = PyBigNumbers.Add_mod_Hex(self.value, obj.value, self.mod) retVal = BigNum(sumVal, self.mod, self.isDec) return retVal