From ec9ef21cc0d01b1ee10cf59c6ecdb9d2236e4c4e Mon Sep 17 00:00:00 2001
From: Fabian Dill <fabian.dill@web.de>
Date: Thu, 11 Nov 2021 00:06:51 +0100
Subject: [PATCH] Tests: add create_item test

---
 requirements.txt                 |  4 ++--
 test/general/TestItems.py        | 12 ++++++++++++
 test/general/TestReachability.py |  1 -
 test/general/TestUniqueness.py   |  4 ----
 4 files changed, 14 insertions(+), 7 deletions(-)
 create mode 100644 test/general/TestItems.py

diff --git a/requirements.txt b/requirements.txt
index 77c6107d..bf31f568 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,7 +2,7 @@ colorama>=0.4.4
 websockets>=10.0
 PyYAML>=6.0
 fuzzywuzzy>=0.18.0
-prompt_toolkit>=3.0.20
+prompt_toolkit>=3.0.22
 appdirs>=1.4.4
-jinja2>=3.0.2
+jinja2>=3.0.3
 schema>=0.7.4
diff --git a/test/general/TestItems.py b/test/general/TestItems.py
new file mode 100644
index 00000000..6cf3e2d1
--- /dev/null
+++ b/test/general/TestItems.py
@@ -0,0 +1,12 @@
+import unittest
+from worlds.AutoWorld import AutoWorldRegister
+
+
+class TestBase(unittest.TestCase):
+    def testCreateItem(self):
+        for game_name, world_type in AutoWorldRegister.world_types.items():
+            proxy_world = world_type(None, 0)  # this is identical to MultiServer.py creating worlds
+            for item_name in world_type.item_name_to_id:
+                with self.subTest("Create Item", item_name=item_name, game_name=game_name):
+                    item = proxy_world.create_item(item_name)
+                    self.assertEqual(item.name, item_name)
diff --git a/test/general/TestReachability.py b/test/general/TestReachability.py
index b730d7be..8786d13c 100644
--- a/test/general/TestReachability.py
+++ b/test/general/TestReachability.py
@@ -6,7 +6,6 @@ from worlds.AutoWorld import AutoWorldRegister
 from . import setup_default_world
 
 class TestBase(unittest.TestCase):
-    _state_cache = {}
     gen_steps = ["generate_early", "create_regions", "create_items", "set_rules", "generate_basic", "pre_fill"]
 
     def testAllStateCanReachEverything(self):
diff --git a/test/general/TestUniqueness.py b/test/general/TestUniqueness.py
index baf3792c..f8ea8b26 100644
--- a/test/general/TestUniqueness.py
+++ b/test/general/TestUniqueness.py
@@ -1,12 +1,8 @@
 import unittest
-from BaseClasses import MultiWorld
 from worlds.AutoWorld import AutoWorldRegister
 
 
 class TestBase(unittest.TestCase):
-    world: MultiWorld
-    _state_cache = {}
-
     def testUniqueItems(self):
         known_item_ids = set()
         for gamename, world_type in AutoWorldRegister.world_types.items():