From 93f53b27019c7f07d657443f52cb5fc49d86963a Mon Sep 17 00:00:00 2001
From: fheinrich <fheinrich@techfak.uni-bielefeld.de>
Date: Tue, 5 Dec 2023 15:18:24 +0100
Subject: [PATCH] Fixed wrong file path while testing

---
 overcooked_simulator/layouts/empty.layout     |  1 +
 overcooked_simulator/main.py                  |  7 +++---
 .../overcooked_environment.py                 | 23 ++++++++++---------
 overcooked_simulator/simulation_runner.py     |  5 ++--
 tests/test_start.py                           | 11 ++++++---
 5 files changed, 27 insertions(+), 20 deletions(-)
 create mode 100644 overcooked_simulator/layouts/empty.layout

diff --git a/overcooked_simulator/layouts/empty.layout b/overcooked_simulator/layouts/empty.layout
new file mode 100644
index 00000000..9fb75b8d
--- /dev/null
+++ b/overcooked_simulator/layouts/empty.layout
@@ -0,0 +1 @@
+E
\ No newline at end of file
diff --git a/overcooked_simulator/main.py b/overcooked_simulator/main.py
index 97565770..e7765a91 100644
--- a/overcooked_simulator/main.py
+++ b/overcooked_simulator/main.py
@@ -1,12 +1,13 @@
 from overcooked_simulator.player import Player
 import sys
-from overcooked_simulator.simulation_runner import Simulator
-from overcooked_simulator.overcooked_environment import Environment
+from pathlib import Path
+
+from overcooked_simulator.player import Player
 from overcooked_simulator.pygame_gui import PyGameGUI
 
 
 def main():
-    simulator = Simulator(Environment, 300)
+    simulator = Simulator(Path("overcooked_simulator/layouts/basic.layout"), 300)
     simulator.register_player(Player("p1", [100, 200]))
     simulator.register_player(Player("p2", [200, 100]))
 
diff --git a/overcooked_simulator/overcooked_environment.py b/overcooked_simulator/overcooked_environment.py
index 4545c4f3..8d64bbf7 100644
--- a/overcooked_simulator/overcooked_environment.py
+++ b/overcooked_simulator/overcooked_environment.py
@@ -22,17 +22,18 @@ class Action:
 class Environment:
     """Environment class which handles the game logic for the overcooked-inspired environment.
 
-        Handles player movement, collision-detection, counters, cooking processes, recipes, incoming orders, time.
-        # TODO Abstract base class for different environments
-        """
-    def __init__(self):
-        self.players = {}
-        self.counter_side_length = 40
-        self.layout_path = Path("overcooked_simulator/layouts/basic.layout")
-        self.counters = self.create_counters(self.layout_path)
-        self.score = 0
-        self.world_width = 800
-        self.world_height = 600
+    Handles player movement, collision-detection, counters, cooking processes, recipes, incoming orders, time.
+    # TODO Abstract base class for different environments
+    """
+
+    def __init__(self, layout_path):
+        self.players: dict[str, Player] = {}
+        self.counter_side_length: float = 40
+        self.layout_path: Path = layout_path
+        self.counters: list[Counter] = self.create_counters(self.layout_path)
+        self.score: int = 0
+        self.world_width: int = 800
+        self.world_height: int = 600
 
     def create_counters(self, layout_file: Path):
         """Creates layout of kitchen counters in the environment based on layout file.
diff --git a/overcooked_simulator/simulation_runner.py b/overcooked_simulator/simulation_runner.py
index 461724c1..df168a27 100644
--- a/overcooked_simulator/simulation_runner.py
+++ b/overcooked_simulator/simulation_runner.py
@@ -17,13 +17,12 @@ class Simulator(Thread):
       sim.start()
     """
 
-    def __init__(self, env_class: type, frequency: int):
+    def __init__(self, env_layout_path, frequency: int):
         self.finished: bool = False
 
         self.step_frequency: int = frequency
         self.prefered_sleeptime_ns: float = 1e9 / self.step_frequency
-
-        self.env: Environment = env_class()
+        self.env: Environment = Environment(env_layout_path)
 
         super().__init__()
 
diff --git a/tests/test_start.py b/tests/test_start.py
index d37a7e87..5c465bd5 100644
--- a/tests/test_start.py
+++ b/tests/test_start.py
@@ -3,11 +3,15 @@ from overcooked_simulator.player import Player
 from overcooked_simulator.overcooked_environment import Environment, Action
 import numpy as np
 import time
+from pathlib import Path
+
+import numpy as np
+
 from overcooked_simulator.counters import Counter
 
 
 def test_player_registration():
-    sim = Simulator(Environment, 200)
+    sim = Simulator(Path("../overcooked_simulator/layouts/basic.layout"), 200)
     p1 = Player("player1", np.array([0, 0]))
     sim.register_player(p1)
 
@@ -38,7 +42,8 @@ def test_simulator_frequency():
     frequency = 2000
     running_time_seconds = 4
 
-    sim = Simulator(TestEnv, frequency)
+    sim = Simulator(Path("../overcooked_simulator/layouts/basic.layout"), frequency)
+    sim.env = TestEnv()  # Overwrite environment with a simple counting env
 
     sim.start()
     time.sleep(running_time_seconds)
@@ -52,7 +57,7 @@ def test_simulator_frequency():
 
 
 def test_collision_detection():
-    sim = Simulator(Environment, 200)
+    sim = Simulator(Path("../overcooked_simulator/layouts/empty.layout.layout"), 200)
     counter_pos = np.array([50, 100])
     counter = Counter(counter_pos)
     sim.env.counters = [counter]
-- 
GitLab