示例#1
0
def test_compose_unit_add():
    kamodo = Kamodo(verbose=True)

    @kamodofy(units='m', arg_units={'x': 'kg'})
    def a(x):
        return x

    kamodo['a'] = a
    kamodo['b(y[cm])[km]'] = 'y'
    kamodo['c(x,y)[km]'] = '2*a + 3*b'
    assert kamodo.c.meta['arg_units']['x'] == str(get_abbrev(get_unit('kg')))
    assert kamodo.c.meta['arg_units']['y'] == str(get_abbrev(get_unit('cm')))
    result = 2*(3)/1000 + 3*(3)
    assert kamodo.c(3, 3) == result
示例#2
0
def test_multi_unit_composition():
    kamodo = Kamodo('a(x[s])[km] = x', verbose=True)
    kamodo['b(x[cm])[g]'] = 'x'
    kamodo['c'] = 'b(a)'
    print(kamodo.c.meta)
    assert kamodo.c.meta['units'] == 'g'
    assert kamodo.c.meta['arg_units']['x'] == str(get_abbrev(get_unit('s')))