Пример #1
0
 def componentLine(self):
     sentence = [
         (param, convertUnitsString(datum, unit))
         for param, datum, unit in zip(self.parameterNames, self.data, self.units)
         if datum
     ]
     sentence = "".join(["=".join(phrase) for phrase in sentence])
     return "?" + sentence
Пример #2
0
    def componentLine(self):
        sentence = [
            (param, convertUnitsString(datum, unit))
            for param, datum, unit in zip(self.parameterNames, self.data, self.units)
            if datum
        ]

        sentence = "   ".join(self.data)
        # sentence = ', '.join(['='.join(phrase) for phrase in sentence])

        return type(self).__name__ + "     " + sentence
Пример #3
0
def test_unit_conversion():
    # Simple test
    a = '12 in'
    ac = convertUnitsString(a, 'km')
    b = '1 ft'
    bc = convertUnitsString(b, 'km')
    assert ac == bc

    # Compound test
    a = '60 mi/hr'
    ac = roundSigFig(convertUnitsStringToNumber(a, 'm/s'), 10)
    b = '88 ft/sec'
    bc = roundSigFig(convertUnitsStringToNumber(b, 'm/s'), 10)
    assert ac == bc

    # Invalid test
    a = '4 score'
    with pytest.raises(ValueError):
        convertUnitsString(a, 'years')

    # Higher dimension test
    a = 16.7 # km^2, 
    ac = convertUnitsNumberToString(a, 'km^2', 'mi^2')
    b = '6.44790604766 mi^2'
    bc = convertUnitsString(b, 'mi^2')
    assert ac == bc

    # Angle test
    a = 3 # radians
    ac = roundSigFig(convertUnitsNumber(a, 'rad', 'deg'), 10)
    b = 3*180/pi # 3 rad in degrees
    bc = roundSigFig(b, 10)
    assert ac == bc

    # Compound units
    a = "9.8 m/s^2"
    ac = roundSigFig(convertUnitsStringToNumber(a, "ft/ms^2"), 6)
    b = 3.21522e-5 # ft / (ms^2)
    assert ac == b

    # Inverse units
    a = "10 1/s"
    ac = convertUnitsString(a, 'Hz')
    b = "10.0 Hz"
    assert ac == b

    a = "1 1/ns"
    ac = convertUnitsString(a, 'GHz')
    b = "1.0 GHz"
    assert ac == b