From 5933690f815a6da20d0de3629a385753815ca69f Mon Sep 17 00:00:00 2001 From: Tehom Date: Sat, 26 Nov 2016 02:58:02 -0500 Subject: [PATCH] Unit test for ExtendedRoom class --- evennia/contrib/tests.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/evennia/contrib/tests.py b/evennia/contrib/tests.py index 02f4a53e08..b76dd6cae0 100644 --- a/evennia/contrib/tests.py +++ b/evennia/contrib/tests.py @@ -152,4 +152,40 @@ class TestRPSystem(EvenniaTest): self.assertEqual(self.speaker.search("receiver of emotes"), self.receiver1) self.assertEqual(self.speaker.search("colliding"), self.receiver2) +from evennia.contrib import extended_room +from evennia import gametime +from mock import Mock +from evennia.objects.objects import DefaultRoom +from django.conf import settings +# mock gametime to return 7th month, 10 in morning +gametime.gametime = Mock(return_value=(None, 7, None, None, 10)) +# mock settings so we're not affected by a given server's hours of day/months in year +settings.TIME_MONTH_PER_YEAR = 12 +settings.TIME_HOUR_PER_DAY = 24 + + +class TestExtendedRoom(EvenniaTest): + room_typeclass = extended_room.ExtendedRoom + DETAIL_DESC = "A test detail." + SUMMER_DESC = "A summer description." + OLD_DESC = "Old description." + + def setUp(self): + super(TestExtendedRoom, self).setUp() + self.room1.ndb.last_timeslot = "night" + self.room1.ndb.last_season = "winter" + self.room1.db.details = {'testdetail': self.DETAIL_DESC} + self.room1.db.summer_desc = self.SUMMER_DESC + self.room1.db.desc = self.OLD_DESC + + def test_return_appearance(self): + # get the appearance of a non-extended room for contrast purposes + old_desc = DefaultRoom.return_appearance(self.room1, self.char1) + # the new appearance should be the old one, but with the desc switched + self.assertEqual(old_desc.replace(self.OLD_DESC, self.SUMMER_DESC), self.room1.return_appearance(self.char1)) + self.assertEqual("summer", self.room1.ndb.last_season) + self.assertEqual("morning", self.room1.ndb.last_timeslot) + + def test_return_detail(self): + self.assertEqual(self.DETAIL_DESC, self.room1.return_detail("testdetail"))