Created a blank Java project using Maven.
Updated file .gitignore to ignore IntelliJ configuration files.
Changed the version of JUnit to be 4.11 in pom.xml.
Added test the_time_of_clock_London_should_be_1_after_the_phone_clock_is_set_to_9_Beijing_time() and wrote an assertion.
In the test, asked the phoneClock to hold the londonClock and set the time of the phoneClock to be 9 so that the phoneClock could update the time of the londonClock.
Instantiated a CityClock and a PhoneClock with UTC offset in the test.
Created class CityClock.
Created constructor of CityClock with a UTC offset time as the parameter.
Created class PhoneClock.
Created constructor of PhoneClock with a UTC offset time as the parameter.
Created method PhoneClock.setCityClock().
Created method PhoneClock.setTime().
Created method CityClock.getTime() and made the test green with a fake value.
Added 4 TODOs. Working on TODO: The fake value in the production code and the expected value in the test code are duplicated.
Replaced the fake value with the intention code in method CityClock.getTime().
Created field utcOffset in class CityClock and assigned a value to it in the constructor.
Created field utcZeroTime in class CityClock.
Wrote intention code in method PhoneClock.setTime().
Created field cityClock and assigned a value to it in class PhoneClock.
Created field utcOffset and assigned a value to it in class PhoneClock.