Made test data green with rotten code.
Removed DST and NODST city groups from the test data file.
Delegated the first method setCityDstActive() from RobotKeywordLibrary to HotelWorldClocksFacade.
Delegated all methods from RobotKeywordLibrary to HotelWorldClocksFacade and made all test data green.
Step 1 of being carved into Observer pattern: configured and put all cities into a map in the facade.
Step 1 of being carved into Observer pattern: configured and added all cities into a list in the facade.
Step 1 of being carved into Observer pattern: configured and attached all cities into the TimeSubject instance in the facade.
Step 2 of being carved into Observer pattern: a concrete observer set the state of the TimeSubject instance in the facade.
Part of step 3 of being carved into Observer pattern: the TimeSubject instance loop all attached concrete city observers to update their local times.
Pulled two converting utility methods up to the abstract class CityObserver.
Finished step 3 of being carved into Observer pattern: the TimeSubject instance loop all attached concrete city observers to update their local times.
Went through the following steps.
Steps for carving into Observer pattern.
Step 0: Create a TimeSubject instance in a facade in the test initialization.
Step 1: Create all city instances with a reference to the TimeSubject instance. Attached them to the TimeSubject instance.
Step 2: Set the state of the TimeSubject instance from a city instance attached in the TimeSubject instance.
Step 3: Notify all attached city instances in the TimeSubject instance to get the latest state of the TimeSubject instance.
Implemented a simple logging (BenLogger) and removed some unused code.