MCPcopy Index your code
hub / github.com/Project-MONAI/MONAI / test_parse

Method test_parse

tests/bundle/test_config_parser.py:168–195  ·  view source on GitHub ↗
(self, config, expected_ids, output_types)

Source from the content-addressed store, hash-verified

166 @parameterized.expand([TEST_CASE_1])
167 @skipUnless(has_tv, "Requires torchvision >= 0.8.0.")
168 def test_parse(self, config, expected_ids, output_types):
169 parser = ConfigParser(config=config, globals={"monai": "monai"})
170 # test lazy instantiation with original config content
171 parser["transform"]["transforms"][0]["keys"] = "label1"
172 trans = parser.get_parsed_content(id="transform#transforms#0")
173 self.assertEqual(trans.keys[0], "label1")
174 # test re-use the parsed content or not with the `lazy` option
175 self.assertEqual(trans, parser.get_parsed_content(id="transform#transforms#0"))
176 self.assertEqual(trans, parser.get_parsed_content(id="transform#transforms#0", lazy=True))
177 self.assertNotEqual(trans, parser.get_parsed_content(id="transform#transforms#0", lazy=False))
178 # test new nested id
179 parser.set("fake_key", "transform#other_transforms#keys", True)
180 self.assertEqual(parser.get(id="transform#other_transforms#keys"), "fake_key")
181 # remove temp fake data
182 parser["transform"].pop("other_transforms")
183 # test update nested id
184 parser["transform#transforms#0#keys"] = "label2"
185 self.assertEqual(parser.get_parsed_content(id="transform#transforms#0").keys[0], "label2")
186
187 for id, cls in zip(expected_ids, output_types):
188 self.assertTrue(isinstance(parser.get_parsed_content(id), cls))
189 # test root content
190 root = parser.get_parsed_content(id="")
191 for v, cls in zip(root.values(), [Compose, Dataset, DataLoader]):
192 self.assertTrue(isinstance(v, cls))
193 # test default value
194 self.assertEqual(parser.get_parsed_content(id="abc", default=ConfigItem(12345, "abc")), 12345)
195 self.assertEqual(parser.get_parsed_content(id="abcd", default=1), 1)
196
197 @parameterized.expand([TEST_CASE_2])
198 def test_function(self, config):

Callers

nothing calls this directly

Calls 6

get_parsed_contentMethod · 0.95
setMethod · 0.95
getMethod · 0.95
ConfigParserClass · 0.90
ConfigItemClass · 0.90
popMethod · 0.80

Tested by

no test coverage detected