示例#1
0
def test_format_string():
    col = ArgumentCollection()
    col.add(arg('foo', value='bar'))
    ret = format_string('Test: {foo} test', col)
    assert ret == 'Test: bar test'
    ret = find_argumentkeys_in_string('Test: {foo} and {bar} so on')
    assert 'foo' in ret and 'bar' in ret
示例#2
0
def test_argument_retrieve():
    setup_context()
    meta = Metadata()
    meta.foo = 'bar'
    setup_context()
    ctx.meta = meta
    # test retrieval from ctx.env
    ctx.env['FOO'] = 'bar'
    arg = Argument('foo').retrieve(ctx.env)
    assert arg.value == 'bar'
    # test if argument is not present
    del ctx.env['FOO']
    arg = Argument('foo').retrieve(ctx.env)
    arg.retrieve(ctx.env)
    assert arg.value is None
    assert arg.is_empty
    # test retrieval from meta
    arg = Argument('foo').retrieve(ctx.meta)
    assert arg.value == 'bar'
    col = OptionsCollection()
    col.add(StringOption('foo', 'Enables foo for testing.', keys='somethingelse'))
    col.retrieve_from_dict({'foo': 'bar'})
    arg = Argument('foo').retrieve(col)
    assert arg.value == 'bar'
    arg = Argument('foo').retrieve({'foo': 'bar'})
    assert arg.value == 'bar'
    col = ArgumentCollection.from_dict({'foo': 'bar'})
    arg = Argument('foo').retrieve(col)
    assert arg.value == 'bar'
    arg = Argument('foo').retrieve('bar')
    assert arg.value == 'bar'
示例#3
0
def test_argument_collection():
    arg = Argument('foo').retrieve('bar')
    col = ArgumentCollection()
    assert col.isempty()
    col.add(arg)
    assert not col.isempty()
    assert col['foo'] == arg
    col = ArgumentCollection.from_dict({'test': 'ing'})
    assert col['test'].value == 'ing'
    col1 = ArgumentCollection()
    col2 = ArgumentCollection()
    col1['foo'] = 'bar'
    col2['foo'] = 'test'
    assert col1.get('foo').value == 'bar'
    assert col2.get('asdf') is None
    col1.overwrite_merge(col2)
    assert col1['foo'].value == 'test'
    assert col.value('invalid') is None
    assert col.value('test') == 'ing'