Skip to content
Snippets Groups Projects
Commit ada72925 authored by Alma Berisha's avatar Alma Berisha
Browse files

restore test_mars.py after accidental removal

parent 4b1a7db2
Branches singleton
No related tags found
1 merge request!3Develop
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()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment