diff --git a/test_mars.py b/test_mars.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f9152f04eec7fbc9ff37621551f42fedaeb78b2
--- /dev/null
+++ b/test_mars.py
@@ -0,0 +1,63 @@
+import unittest
+from mars import Mars
+from plateau import Plateau
+
+class TestMarsSingleton(unittest.TestCase):
+    """
+    Testklasse für das Singleton-Verhalten der Mars-Klasse.
+    """
+    
+    def test_mars_singleton(self):
+        """
+        Überprüft, ob zwei Mars-Instanzen tatsächlich dasselbe Objekt sind.
+        """
+        # Erstelle zwei Mars-Instanzen
+        mars1 = Mars()
+        mars2 = Mars()
+        
+        # Überprüfe, ob es sich um dasselbe Objekt handelt
+        self.assertIs(mars1, mars2, "Mars sollte ein Singleton sein")
+        
+        # Überprüfe, ob Änderungen an einer Instanz auch die andere betreffen
+        plateau = Plateau(5, 5)
+        mars1.set_plateau(plateau)
+        
+        # Beide Instanzen sollten dasselbe Plateau haben
+        self.assertIs(mars1.get_plateau(), mars2.get_plateau())
+    
+    def test_mars_singleton_reset(self):
+        """
+        Überprüft, ob das Singleton-Verhalten auch nach dem Zurücksetzen der Instanz funktioniert.
+        """
+        # Erstelle eine Mars-Instanz
+        mars1 = Mars()
+        
+        # Speichere eine Referenz auf die Instanz
+        mars_ref = mars1
+        
+        # Setze ein Plateau
+        plateau1 = Plateau(5, 5)
+        mars1.set_plateau(plateau1)
+        
+        # Zurücksetzen der Singleton-Instanz
+        Mars._instance = None
+        
+        # Erstelle eine neue Mars-Instanz mit einem anderen Plateau
+        plateau2 = Plateau(10, 10)
+        mars2 = Mars(plateau2)
+        
+        # Überprüfe, ob die neue Instanz ein anderes Objekt ist als die ursprüngliche Referenz
+        self.assertIsNot(mars_ref, mars2, "Nach dem Zurücksetzen sollte eine neue Instanz erstellt werden")
+        
+        # Erstelle eine weitere Instanz
+        mars3 = Mars()
+        
+        # Überprüfe, ob die neuen Instanzen dasselbe Objekt sind
+        self.assertIs(mars2, mars3, "Neue Mars-Instanzen sollten dasselbe Objekt sein")
+        
+        # Überprüfe, ob beide das neue Plateau haben
+        self.assertIs(mars2.get_plateau(), plateau2)
+        self.assertIs(mars3.get_plateau(), plateau2)
+
+if __name__ == '__main__':
+    unittest.main()