Skip to content

Commit

Permalink
Add unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mzr1996 committed Jan 28, 2022
1 parent 43a0fd9 commit 1716d5d
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 0 deletions.
7 changes: 7 additions & 0 deletions tests/data/config/py_base.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
_base_ = ['./l1.py', './l2.yaml', './l3.json', './l4.py']
item2 = dict(b=[5, 6])
item3 = False
item4 = 'test'
item6[0] = dict(c=0)
item8 = '{{fileBasename}}'
item9, item10, item11 = item7['b']['c']
10 changes: 10 additions & 0 deletions tests/data/config/py_nested_base.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
_base_ = ['./py_base.py']
item12 = item8
item13 = item9
item14 = item1
item15 = dict(
a=dict(b=item2),
b=[item3],
c=[item4],
d=[[dict(e=item5['a'])], item6],
e=item1)
56 changes: 56 additions & 0 deletions tests/test_utils/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -536,3 +536,59 @@ def test_deprecation():
with pytest.warns(DeprecationWarning):
cfg = Config.fromfile(cfg_file)
assert cfg.item1 == 'expected'


def test_py_base_variables():
file = 'py_base.py'
cfg_file = osp.join(data_path, f'config/{file}')
cfg = Config.fromfile(cfg_file)
assert isinstance(cfg, Config)
assert cfg.filename == cfg_file
# cfg.field
assert cfg.item1 == [1, 2]
assert cfg.item2.a == 0
assert cfg.item2.b == [5, 6]
assert cfg.item3 is False
assert cfg.item4 == 'test'
assert cfg.item5 == dict(a=0, b=1)
assert cfg.item6 == [dict(c=0), dict(b=1)]
assert cfg.item7 == dict(a=[0, 1, 2], b=dict(c=[3.1, 4.2, 5.3]))
assert cfg.item8 == file
assert cfg.item9 == 3.1
assert cfg.item10 == 4.2
assert cfg.item11 == 5.3

# test nested base
file = 'py_nested_base.py'
cfg_file = osp.join(data_path, f'config/{file}')
cfg = Config.fromfile(cfg_file)
assert isinstance(cfg, Config)
assert cfg.filename == cfg_file
# cfg.field
assert cfg.item1 == [1, 2]
assert cfg.item2.a == 0
assert cfg.item2.b == [5, 6]
assert cfg.item3 is False
assert cfg.item4 == 'test'
assert cfg.item5 == dict(a=0, b=1)
assert cfg.item6 == [dict(c=0), dict(b=1)]
assert cfg.item7 == dict(a=[0, 1, 2], b=dict(c=[3.1, 4.2, 5.3]))
assert cfg.item8 == 'py_base.py'
assert cfg.item9 == 3.1
assert cfg.item10 == 4.2
assert cfg.item11 == 5.3
assert cfg.item12 == 'py_base.py'
assert cfg.item13 == 3.1
assert cfg.item14 == [1, 2]
assert cfg.item15 == dict(
a=dict(b=dict(a=0, b=[5, 6])),
b=[False],
c=['test'],
d=[[{
'e': 0
}], [{
'c': 0
}, {
'b': 1
}]],
e=[1, 2])

0 comments on commit 1716d5d

Please sign in to comment.