a lot of changes
This commit is contained in:
@@ -227,3 +227,50 @@ def test_cons_rota2(cons_rota):
|
||||
# Check that days worked is now more than oncall count
|
||||
days_worked = Rota.get_worker_days_worked(worker)
|
||||
assert days_worked > oncall_count, f"{worker.name} worked {days_worked} days, more than oncall shifts {oncall_count}"
|
||||
|
||||
def test_cons_rota3(cons_rota):
|
||||
Rota = cons_rota
|
||||
|
||||
Rota.terminate_on_warning.remove("Worker/no valid shifts")
|
||||
Rota.add_shifts(
|
||||
#SingleShift(sites=["a"], name="oncall weekday", length=8, days=days[:4], workers_required=1,
|
||||
# constraint=[
|
||||
# {"name": "pre", "options": 2},
|
||||
# {"name": "post", "options": 2},
|
||||
# ],
|
||||
# ),
|
||||
##SingleShift(sites=["a"], name="oncall weekend", length=8, days=days[4:], workers_required=1),
|
||||
#SingleShift(sites=["a", "b"], name="evening", length=8, days=days[:4], workers_required=1,
|
||||
# constraint=[
|
||||
# {"name": "pre", "options": 2},
|
||||
# {"name": "post", "options": 2},
|
||||
# ],
|
||||
# ),
|
||||
SingleShift(sites=["a"], name="help", length=8, days=days[4:], workers_required=1,
|
||||
#assign_as_block=True,
|
||||
#force_as_block=True
|
||||
#constraint=[
|
||||
# {"name": "pre", "options": 2},
|
||||
# {"name": "post", "options": 2},
|
||||
#],
|
||||
) ,
|
||||
SingleShift(sites=["b"], name="weekend b", length=8, days=days[5:], workers_required=1,
|
||||
#constraint=[
|
||||
# {"name": "pre", "options": 2},
|
||||
# {"name": "post", "options": 2},
|
||||
#],
|
||||
),
|
||||
)
|
||||
#print("Adding shifts")
|
||||
#for worker in Rota.get_workers_by_site("a"):
|
||||
# print(worker.name)
|
||||
## worker.allow_shifts_together("oncall weekday", "evening")
|
||||
## #worker.allow_shifts_together("oncall weekend", "weekend")
|
||||
## worker.prefer_multi_shift_together = 1
|
||||
|
||||
# worker.assign_as_block_preferences = {"help":10}
|
||||
#for worker in Rota.get_workers_by_site("b"):
|
||||
# worker.assign_as_block_preferences = {"weekend b":-10}
|
||||
Rota.build_and_solve()
|
||||
Rota.export_rota_to_html("test_cons_rota", folder="tests")
|
||||
assert Rota.results.solver.status == "ok"
|
||||
|
||||
Reference in New Issue
Block a user