def test_24_hours_shifts(self): # 1 hour to load, 1 hour to produce # produce 2 every 2 hours # ie 24 - 1 (1 to start the machine) / 2 = 10 machine, spec, stock = create_machine(stocking_zone_size=None) factory = Factory() factory.add_worker(Worker(working_hour = 8 * 60)) factory.add_worker(Worker(working_hour = 8 * 60)) factory.add_worker(Worker(working_hour = 8 * 60)) factory.add_production_unit(machine) factory.run(24 * 60) self.assertEquals(stock.count(), 720 - 1)
def get_factory(yaml_conf): yaml = load(yaml_conf) factory = Factory(name=yaml["name"]) materials = create_materials(yaml) for production_unit in yaml["production_units"]: spec = create_spec(materials, production_unit) config = {} config["rate_by_minute"]= production_unit.get("rate", 1) factory.add_production_unit(ProductionUnit(spec=spec, config=config, name=production_unit["name"])) for worker in yaml.get("workers", []): working_hour = worker.get("working_hour", 8) * 60 factory.add_worker(Worker(working_hour=working_hour)) return factory
def get_factory(yaml_conf): yaml = load(yaml_conf) factory = Factory(name=yaml["name"]) materials = create_materials(yaml) for production_unit in yaml["production_units"]: spec = create_spec(materials, production_unit) config = {} config["rate_by_minute"] = production_unit.get("rate", 1) factory.add_production_unit( ProductionUnit(spec=spec, config=config, name=production_unit["name"])) for worker in yaml.get("workers", []): working_hour = worker.get("working_hour", 8) * 60 factory.add_worker(Worker(working_hour=working_hour)) return factory
def test_factory_add_production_unit(self): factory = Factory() factory.add_production_unit(ProductionUnit(None)) self.assertEquals(len(factory.production_units), 1)