def test_nested_list(): """Test that nested lists are correctly coerced.""" tmp = NavigableDict({'a': [{'one': 1}, NavigableDict({'two': 2}), 3]}) assert tmp.a[0].one == 1 assert tmp.a[1].two == 2 assert tmp.a[2] == 3 assert tmp.get('a.0.one') == 1 assert tmp.get('a[0].one') == 1 assert tmp.get('a.1.two') == 2 assert tmp.get('a.2') == 3
def test_nested_get_value(): """Test that accessing a nested value works.""" tmp = NavigableDict({'a': {'one': 1}}) assert tmp.a.one == 1 assert tmp['a'].one == 1 assert tmp['a']['one'] == 1 assert tmp['a']['one'] == tmp.a.one assert tmp.get('a.one') == 1
def test_nested_list_get(): """Test that invalid list access is handled correctly.""" tmp = NavigableDict({'a': [{'one': 1}, {'one': 2}, 3]}) assert tmp.get('a.one') == [1, 2, None]
def test_nested_list_fail(): """Test that nested lists are correctly coerced.""" tmp = NavigableDict({'a': [{'one': 1}, NavigableDict({'two': 2}), 3]}) assert tmp.get('a[4].one') is None
def test_fail_missing_default(): """Test that accessing a mising value with a default returns the default.""" tmp = NavigableDict({'a': 1}) assert tmp.get('b') is None assert tmp.get('b', default=2) == 2