diff --git a/pyproject.toml b/pyproject.toml index 3f6254e..ecffbd1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "pymeasurement" -version = "1.0.1" +version = "1.0.2" authors = [ { name="Saptak Das", email="saptak.das625@gmail.com" }, ] diff --git a/src/pymeasurement/measurement.py b/src/pymeasurement/measurement.py index 30c8430..0027246 100644 --- a/src/pymeasurement/measurement.py +++ b/src/pymeasurement/measurement.py @@ -161,11 +161,11 @@ def fromStr(string): sample = sample.replace('a', '') return Measurement(sample.strip(), precision=precision, uncertainty=(uncertainty.strip() if isinstance(uncertainty, str) else uncertainty), digital=digital, analog=analog, units=units) - def fromFloat(f): #Assume float is a constant with infinite precision and no uncertainty. + def fromFloat(f, units=''): #Assume float is a constant with infinite precision and no uncertainty. """ Creates a Measurement constant from a float. """ - return Measurement.fromStr(f'{f}c') + return Measurement.fromStr(f'{f}c {units}') def toAbsolute(self): """ @@ -287,8 +287,6 @@ def __add__(self, other): """ Returns the sum of the two Measurement objects. """ - if isinstance(other, float) or isinstance(other, int): - other = Measurement.fromStr(f'{other}c {self.units}') if self.nUnits != other.nUnits or self.dUnits != other.dUnits: raise Exception(f'Measurement Error: Cannot add {self} and {other} with different units.') uSum = SigFig('0', constant=True) diff --git a/tests/test_pymeasurement.py b/tests/test_pymeasurement.py index 5a2d71b..2a01a10 100644 --- a/tests/test_pymeasurement.py +++ b/tests/test_pymeasurement.py @@ -72,7 +72,7 @@ def test_divide_measurements(self): def test_add_measurement_to_scalar(self): m1 = Measurement("2.0", uncertainty="0.13", units="m") - m2 = m1 + 2 + m2 = m1 + Measurement.fromFloat(2, units="m") self.assertEqual(m2.sample, SigFig("4.0")) self.assertEqual(m2.uncertainty, SigFig("0.1")) self.assertEqual(m2.units, "m") @@ -80,7 +80,7 @@ def test_add_measurement_to_scalar(self): def test_subtract_scalar_from_measurement(self): m1 = Measurement("2.0", uncertainty="0.13", units="m") - m2 = m1 - 2 + m2 = m1 - Measurement.fromFloat(2, units="m") self.assertEqual(m2.sample, SigFig("0.0")) self.assertEqual(m2.uncertainty, SigFig("0.1")) self.assertEqual(m2.units, "m") @@ -126,7 +126,7 @@ def test_sum_measurements(self): m1 = Measurement.fromStr("2.0 +/- 0.13 m") m2 = Measurement.fromStr("3.0 +/- 0.1 m") m3 = Measurement.fromStr("4.0 +/- 0.1 m") - m4 = sum([m1, m2, m3]) + m4 = Measurement.sum([m1, m2, m3]) self.assertEqual(m4.sample, SigFig("9.0")) self.assertEqual(m4.uncertainty, SigFig("0.3")) self.assertEqual(m4.units, "m")