These should raise validation errors:
P = Pressure(10, EnergyUnit.JOULE)
T = Temperature(20, LengthUnit.METER)
.
.
.
One shouldn't be able to instantiate a property with wrong units.
Also, setting wrong units should raise validation error.
T = Temperature(350, TemperatureUnit.KELVIN)
T.unit_descriptor = PressureUnit.BAR