def parse_compound_generator(entry: dict) -> CompoundGenerator: generators = [] generators_dict = entry["generators"] for generator in generators_dict: generators.append(LineGenerator.from_dict(generator["line"])) entry["generators"] = generators compound_generator = CompoundGenerator.from_dict(entry) if compound_generator.duration <= 0.0: raise ValueError( "Negative generator duration - is it missing from the YAML?") return compound_generator
def test_from_dict(self): _dict = dict() _dict['axes'] = ["x"] _dict['units'] = ["mm"] _dict['start'] = [1.0] _dict['stop'] = [9.0] _dict['size'] = 5 _dict['alternate'] = True units_dict = dict() units_dict['x'] = "mm" gen = LineGenerator.from_dict(_dict) self.assertEqual(["x"], gen.axes) self.assertEqual(units_dict, gen.axis_units()) self.assertEqual([1.0], gen.start) self.assertEqual([9.0], gen.stop) self.assertEqual(5, gen.size) self.assertTrue(gen.alternate)