diff --git a/tests/dictionaries/70container_pathaccess/00-base.xml b/tests/dictionaries/70services_pathaccess/00-base.xml
similarity index 100%
rename from tests/dictionaries/70container_pathaccess/00-base.xml
rename to tests/dictionaries/70services_pathaccess/00-base.xml
diff --git a/tests/dictionaries/70container_pathaccess/__init__.py b/tests/dictionaries/70services_pathaccess/__init__.py
similarity index 100%
rename from tests/dictionaries/70container_pathaccess/__init__.py
rename to tests/dictionaries/70services_pathaccess/__init__.py
diff --git a/tests/dictionaries/70container_pathaccess/makedict/base.json b/tests/dictionaries/70services_pathaccess/makedict/base.json
similarity index 100%
rename from tests/dictionaries/70container_pathaccess/makedict/base.json
rename to tests/dictionaries/70services_pathaccess/makedict/base.json
diff --git a/tests/dictionaries/70container_pathaccess/tiramisu/base.py b/tests/dictionaries/70services_pathaccess/tiramisu/base.py
similarity index 100%
rename from tests/dictionaries/70container_pathaccess/tiramisu/base.py
rename to tests/dictionaries/70services_pathaccess/tiramisu/base.py
diff --git a/tests/dictionaries/70services_pathaccess_iplist/00-base.xml b/tests/dictionaries/70services_pathaccess_iplist/00-base.xml
new file mode 100644
index 00000000..1f0be8f6
--- /dev/null
+++ b/tests/dictionaries/70services_pathaccess_iplist/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ 192.168.0.1
+
+
+
+
+ no
+
+
+
+
+
+ yes
+ example
+
+
+
+
diff --git a/tests/dictionaries/70services_pathaccess_iplist/__init__.py b/tests/dictionaries/70services_pathaccess_iplist/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/tests/dictionaries/70services_pathaccess_iplist/makedict/base.json b/tests/dictionaries/70services_pathaccess_iplist/makedict/base.json
new file mode 100644
index 00000000..5b00283a
--- /dev/null
+++ b/tests/dictionaries/70services_pathaccess_iplist/makedict/base.json
@@ -0,0 +1 @@
+{"rougail.condition": "no", "services.nut.ips.192_168_0_1.interface": "auto", "services.nut.ips.192_168_0_1.name": "192.168.0.1", "services.nut.ips.192_168_0_1.netmask": "255.255.255.255", "services.nut.ips.192_168_0_1.activate": true}
diff --git a/tests/dictionaries/70services_pathaccess_iplist/tiramisu/base.py b/tests/dictionaries/70services_pathaccess_iplist/tiramisu/base.py
new file mode 100644
index 00000000..33279fa5
--- /dev/null
+++ b/tests/dictionaries/70services_pathaccess_iplist/tiramisu/base.py
@@ -0,0 +1,24 @@
+from importlib.machinery import SourceFileLoader
+from importlib.util import spec_from_loader, module_from_spec
+loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
+spec = spec_from_loader(loader.name, loader)
+func = module_from_spec(spec)
+loader.exec_module(func)
+for key, value in dict(locals()).items():
+ if key != ['SourceFileLoader', 'func']:
+ setattr(func, key, value)
+try:
+ from tiramisu3 import *
+except:
+ from tiramisu import *
+option_2 = StrOption(name="condition", doc="condition", default="no", properties=frozenset({"mandatory", "normal"}))
+option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_7 = StrOption(name="interface", doc="interface", default="auto")
+option_8 = NetworkOption(name="name", doc="name", default="192.168.0.1")
+option_9 = NetmaskOption(name="netmask", doc="netmask", default="255.255.255.255")
+option_10 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2), 'expected_0': ParamValue("yes")})))
+option_6 = OptionDescription(name="192_168_0_1", doc="192.168.0.1", children=[option_7, option_8, option_9, option_10])
+option_5 = OptionDescription(name="ips", doc="ips", children=[option_6])
+option_4 = OptionDescription(name="nut", doc="nut", children=[option_5])
+option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])
diff --git a/tests/dictionaries/70services_pathaccess_iplist2/00-base.xml b/tests/dictionaries/70services_pathaccess_iplist2/00-base.xml
new file mode 100644
index 00000000..fe90af1b
--- /dev/null
+++ b/tests/dictionaries/70services_pathaccess_iplist2/00-base.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ 192.168.0.1
+
+
+
+
+ yes
+
+
+
+
+
+ yes
+ example
+
+
+
+
diff --git a/tests/dictionaries/70services_pathaccess_iplist2/__init__.py b/tests/dictionaries/70services_pathaccess_iplist2/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/tests/dictionaries/70services_pathaccess_iplist2/makedict/base.json b/tests/dictionaries/70services_pathaccess_iplist2/makedict/base.json
new file mode 100644
index 00000000..ebec540a
--- /dev/null
+++ b/tests/dictionaries/70services_pathaccess_iplist2/makedict/base.json
@@ -0,0 +1 @@
+{"rougail.condition": "yes", "services.nut.ips.192_168_0_1.interface": "auto", "services.nut.ips.192_168_0_1.name": "192.168.0.1", "services.nut.ips.192_168_0_1.netmask": "255.255.255.255", "services.nut.ips.192_168_0_1.activate": false}
diff --git a/tests/dictionaries/70services_pathaccess_iplist2/tiramisu/base.py b/tests/dictionaries/70services_pathaccess_iplist2/tiramisu/base.py
new file mode 100644
index 00000000..7fa0f814
--- /dev/null
+++ b/tests/dictionaries/70services_pathaccess_iplist2/tiramisu/base.py
@@ -0,0 +1,24 @@
+from importlib.machinery import SourceFileLoader
+from importlib.util import spec_from_loader, module_from_spec
+loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py')
+spec = spec_from_loader(loader.name, loader)
+func = module_from_spec(spec)
+loader.exec_module(func)
+for key, value in dict(locals()).items():
+ if key != ['SourceFileLoader', 'func']:
+ setattr(func, key, value)
+try:
+ from tiramisu3 import *
+except:
+ from tiramisu import *
+option_2 = StrOption(name="condition", doc="condition", default="yes", properties=frozenset({"mandatory", "normal"}))
+option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
+option_7 = StrOption(name="interface", doc="interface", default="auto")
+option_8 = NetworkOption(name="name", doc="name", default="192.168.0.1")
+option_9 = NetmaskOption(name="netmask", doc="netmask", default="255.255.255.255")
+option_10 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_2), 'expected_0': ParamValue("yes")})))
+option_6 = OptionDescription(name="192_168_0_1", doc="192.168.0.1", children=[option_7, option_8, option_9, option_10])
+option_5 = OptionDescription(name="ips", doc="ips", children=[option_6])
+option_4 = OptionDescription(name="nut", doc="nut", children=[option_5])
+option_3 = OptionDescription(name="services", doc="services", children=[option_4], properties=frozenset({"hidden"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_3])