def test_two_the_same_substitution(self): template = "/path/%(frame)d/image.%(frame)04d.tif" result = list(Sequence.permutations(template, frame="0-20x2")) self.assertIn("/path/8/image.0008.tif", result) self.assertIn("/path/12/image.0012.tif", result) self.assertEqual(len(result), 11)
def test_one_substitution(self): template = "image.%(frame)04d.tif" result = list(Sequence.permutations(template, frame="0-20x2")) self.assertIn("image.0008.tif", result) self.assertIn("image.0012.tif", result) self.assertEqual(len(result), 11)
def test_three_substitutions(self): template = "image_%(uval)02d_%(vval)02d.%(frame)04d.tif" kw = {"uval": "1-2", "vval": "1-2", "frame": "10-11"} result = list(Sequence.permutations(template, **kw)) self.assertIn("image_01_01.0010.tif", result) self.assertIn("image_02_02.0011.tif", result) self.assertIn("image_02_01.0010.tif", result) self.assertEqual(len(result), 8)
def initialize(data): """Generate list of files from fixture data.""" global FILES for item in data["files"]: if item.get("params"): for fn in Sequence.permutations(item["path"], **item["params"]): FILES.append(fn) else: FILES.append(item["path"]) FILES = sorted(set(FILES))
def test_three_substitutions(self): template = "image_%(uval)02d_%(vval)02d.%(frame)04d.tif" kw = { "uval": "1-2", "vval": "1-2", "frame": "10-11" } result = list(Sequence.permutations(template, **kw)) self.assertIn("image_01_01.0010.tif", result) self.assertIn("image_02_02.0011.tif", result) self.assertIn("image_02_01.0010.tif", result) self.assertEqual(len(result), 8)
def initialize(data): """Generate nodes, types, and files from fixture data.""" global NODES global NODE_TYPES global FILES global GVARS GVARS.update(data["gvars"]) type_names = list(set([n["type"] for n in data["nodes"]])) for t in type_names: NODE_TYPES[t] = NodeType(t) for item in data["nodes"]: NODES[item["name"]] = Node(item) for item in data["files"]: if item.get("params"): for fn in Sequence.permutations(item["path"], **item["params"]): FILES.append({"path": fn, "type": item["type"]}) else: FILES.append(item)