Пример #1
0
def test_init_key_store_two_keys_pass():
    stores = constraints.Stores()
    ks0 = constraints.InitKeyStore('TestKey')
    path = '/root-0,/test-0,'
    el = Element('test', path=path)
    ks0.to_python(el, path=el.path, stores=stores)
    ks1 = constraints.InitKeyStore('TestKey')
    path = '/root-0,/test-1,'
    ks1.to_python(None, path=path, stores=stores)
    expected = {'TestKey:/root-0,/test-1,': {}, 'TestKey:/root-0,/test-0,': {}}
    nose.tools.eq_(stores.keyStore.keys, expected)
Пример #2
0
def test_key_value_count_1_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('TestKey')
    ks.to_python(None, path='/', stores=stores)
    stores.keyStore.add_value('TestKey', '/', 'TestKey0', '/ads/cgfh')
    actual = stores.keyStore.key_value_count('TestKey', '/')
    nose.tools.eq_(actual, 1)
Пример #3
0
def test_key_store_add_value_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('TestKey')
    ks.to_python(None, path='/', stores=stores)
    stores.keyStore.add_value('TestKey', '/', 'key_value', '/ads/cgfh')
    expected = {'TestKey:/': {'key_value': '/ads/cgfh'}}
    nose.tools.eq_(stores.keyStore.keys, expected)
Пример #4
0
def test_check_keys_single_key_build_no_value_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.build(path=path, stores=stores)
    ck = constraints.CheckKeys(key_names='FieldKey', level=1)
    field = Element('field', value='field22', path=path + '/field-2,field22')
    nose.tools.eq_(ck.build(path=field.path, stores=stores), 'FieldKey0')
Пример #5
0
def test_check_keys_empty_value_fail():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.to_python(None, path=path, stores=stores)
    ck = constraints.CheckKeys(key_names='FieldKey', level=1)
    field = Element('field', path=path + '/field-2,field22')
    ck.to_python(field, stores=stores)
Пример #6
0
def test_check_keys_path_mismatch_fail():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    el = Element('reg', path=path)
    ks.to_python(el, path=path, stores=stores)
    ck = constraints.CheckKeys(key_names='FieldKey', level=1)
    field = Element('field', value='field22', path='/field-2,field22')
    ck.to_python(field, stores=stores)
Пример #7
0
def test_key_name_two_keys_pass():
    ks = constraints.InitKeyStore('Key2')
    stores = constraints.Stores()
    root_path = '/root-0,'
    ks.to_python(None, path=root_path, stores=stores)
    u_name = constraints.KeyName(key_names='Key1 Key2'.split(), level=1)
    key_path = root_path + '/child-1,prefixed:name'
    actual = u_name.to_python('prefixed:name', path=key_path, stores=stores)
    nose.tools.eq_(actual, 'prefixed:name')
Пример #8
0
def test_check_keys_three_keys_build_no_value_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.build(path=path, stores=stores)
    ck = constraints.CheckKeys(
        key_names=['OtherKey', 'FieldKey', 'YetAnotherKey'], level=1)
    field = Element('field', value='field22', path=path + '/field-2,field22')
    actual = ck.build(path=field.path, stores=stores)
    nose.tools.eq_(actual, 'FieldKey0')
Пример #9
0
def test_match_ref_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('key_name')
    path = '/root-0,'
    ks.to_python(None, path=path, stores=stores)
    ck = constraints.CheckKeys(key_names=['OtherKey', 'key_name'], level=1)
    field = Element('field', value='field22', path=path + '/field-2,field22')
    ck.to_python(field.value, path=field.path, stores=stores)
    instance_path = stores.keyStore.match_ref('key_name', 'field22')
    nose.tools.eq_(instance_path, path + '/field-2,field22')
Пример #10
0
def test_check_keys_duplicate_value_fail():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.to_python(None, path=path, stores=stores)
    ck = constraints.CheckKeys(key_names='FieldKey', level=1)
    field0 = Element('field', value='field22', path=path + '/field-2,field22')
    field1 = Element('field', value='field22', path=path + '/field-12,field22')
    nose.tools.eq_(ck.to_python(field0, stores=stores), 'field22')
    ck.to_python(field1, stores=stores)
Пример #11
0
def test_match_refs_value_not_found_fail():
    stores = constraints.Stores()
    root_element = Element('root', value=None, path='/component-0,test')
    ref_element = Element(
        'memoryMapRef',
        value='myMemoryMap',
        path='/component-0,test/busInterface-0,/memoryMapRef-0,@memoryMapRef')
    constraints.InitKeyStore('memoryMapKey').to_python(root_element,
                                                       path=root_element.path,
                                                       stores=stores)
    kr = constraints.SetupKeyRefsStore('memoryMapKey')
    kr.to_python(ref_element, stores=stores)
    constraints.match_refs(stores)
Пример #12
0
def test_check_keys_three_keys_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.to_python(None, path=path, stores=stores)
    ck = constraints.CheckKeys(
        key_names=['OtherKey', 'FieldKey', 'YetAnotherKey'], level=1)
    field = Element('field', value='field22', path=path + '/field-2,field22')
    expected = {
        'FieldKey:/register-0,reg6': {
            'field22': '/register-0,reg6/field-2,field22'
        }
    }
    ck.to_python(field, stores=stores)
    nose.tools.eq_(stores.keyStore.keys, expected)
Пример #13
0
def test_key_sub_class_name_two_keys_pass():
    class TestKeyName(constraints.KeyName):
        key_names = 'Key1 Key2'.split()
        refer_key_name = 'referKey'
        level = 1

    ks = constraints.InitKeyStore('Key2')
    stores = constraints.Stores()
    root_path = '/root-0,'
    ks.to_python(None, path=root_path, stores=stores)
    u_name = TestKeyName()
    key_path = root_path + '/child-1,prefixed:name'
    actual = u_name.to_python('prefixed:name', path=key_path, stores=stores)
    nose.tools.eq_(stores.refStore.refs, [
        constraints.KeyRef(key_name='referKey',
                           key_value='prefixed:name',
                           ref_path='/root-0,/child-1,prefixed:name')
    ])
Пример #14
0
def test_match_refs_pass():
    stores = constraints.Stores()
    root_element = Element('root', value=None, path='/component-0,test')
    key_element = Element(
        'name',
        value='myMemoryMap',
        path='/component-0,test/memoryMap-0,myMemoryMap/name-0,')
    ref_element = Element(
        'memoryMapRef',
        value='myMemoryMap',
        path='/component-0,test/busInterface-0,/memoryMapRef-0,@memoryMapRef')
    constraints.InitKeyStore('memoryMapKey').to_python(root_element,
                                                       stores=stores)
    constraints.CheckKeys(key_names='memoryMapKey',
                          level=2).to_python(key_element, stores=stores)
    kr = constraints.SetupKeyRefsStore('memoryMapKey')
    kr.to_python(ref_element, stores=stores)
    constraints.match_refs(stores)
    targets = {
        '/component-0,test/busInterface-0,/memoryMapRef-0,@memoryMapRef':
        '/component-0,test/memoryMap-0,myMemoryMap/name-0,'
    }
    nose.tools.eq_(stores.refStore.targets, targets)
Пример #15
0
def test_init_key_store_no_key_fail():
    constraints.InitKeyStore('')
Пример #16
0
def test_match_ref_key_value_not_found_fail():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('key_name')
    ks.to_python(None, path='/', stores=stores)
    stores.keyStore.match_ref('key_name', 'field220')
Пример #17
0
def test_match_ref_nonexistent_key_name_fail():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('key_name')
    ks.to_python(None, path='/', stores=stores)
    stores.keyStore.match_ref('key_name', 'field22')
Пример #18
0
def test_init_key_store_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('TestKey')
    path = '/root-0,/test'
    ks.to_python(None, path=path, stores=stores)
    nose.tools.eq_(stores.keyStore.keys, {'TestKey:/root-0,/test': {}})
Пример #19
0
def test_init_key_store_add_duplicate_key_name_fail():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('TestKeys')
    path = '/root-0,'
    ks.to_python(None, path=path, stores=stores)
    ks.to_python(None, path=path, stores=stores)