From 54345f40a6e672186d3737cb4b33d02b1a7771d2 Mon Sep 17 00:00:00 2001
From: fheinrich <fheinrich@techfak.uni-bielefeld.de>
Date: Tue, 19 Mar 2024 17:34:35 +0100
Subject: [PATCH] Correct random sampling function in time generation

---
 cooperative_cuisine/orders.py | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/cooperative_cuisine/orders.py b/cooperative_cuisine/orders.py
index 910c44b0..33c841f7 100644
--- a/cooperative_cuisine/orders.py
+++ b/cooperative_cuisine/orders.py
@@ -251,6 +251,8 @@ class OrderManager:
         self.hook(INIT_ORDERS)
         self.open_orders.extend(init_orders)
 
+        # self.update_next_relevant_time()
+
     def progress(self, passed_time: timedelta, now: datetime):
         """Check expired orders and check order generation."""
         new_orders = self.order_gen.get_orders(
@@ -434,6 +436,14 @@ class RandomOrderGeneration(OrderGeneration):
             if new_finished_orders:
                 self.create_random_next_time_delta(now)
                 return []
+        # print(
+        #     " - -",
+        #     self.needed_orders,
+        #     self.number_cur_orders,
+        #     self.next_order_time,
+        #     now,
+        # )
+
         if self.needed_orders:
             self.needed_orders -= len(new_finished_orders)
             self.needed_orders = max(self.needed_orders, 0)
@@ -442,6 +452,7 @@ class RandomOrderGeneration(OrderGeneration):
                 self.random.choices(self.available_meals, k=len(new_finished_orders)),
                 now,
             )
+
         if self.next_order_time <= now:
             if self.number_cur_orders >= self.kwargs.max_orders:
                 self.needed_orders += 1
@@ -502,11 +513,11 @@ class RandomOrderGeneration(OrderGeneration):
     def create_random_next_time_delta(self, now: datetime):
         if isinstance(self.kwargs.order_duration_random_func["func"], str):
             seconds = getattr(
-                self.random, self.kwargs.order_duration_random_func["func"]
-            )(**self.kwargs.order_duration_random_func["kwargs"])
+                self.random, self.kwargs.sample_on_dur_random_func["func"]
+            )(**self.kwargs.sample_on_dur_random_func["kwargs"])
         else:
-            seconds = self.kwargs.order_duration_random_func["func"](
-                **self.kwargs.order_duration_random_func["kwargs"]
+            seconds = self.kwargs.sample_on_dur_random_func["func"](
+                **self.kwargs.sample_on_dur_random_func["kwargs"]
             )
 
         self.next_order_time = now + timedelta(seconds=seconds)
-- 
GitLab