Time Machine Introduction
At some point, almost everyone has wanted to build a time machine. The exercises will take you from working with the API initially, to solving some more complicated problems and eventually to writing your own custom calendar system.
The following examples have been created TDD, that is the tests are all failing and require fixing to be able to travel to the next level. There are three sections of tests that you can work through. In all cases there are implementation stubs that throw "new UnsupportedOperationException()" which should be replaced with some code.
Section Basic just provides some introductory tests for working with basic date and time information. You might wish to look at TestDateTimeCourseSetter before QueryTests.
Explore is split into three sections, which can be attempted in any order.
- Alteration - can you change a datetime object?
- Comparison - Simple comparison operations between calendrical objects.
- MultiCalendar - working with a Non-ISO Calendaring system.
This is an example project that still provides tests to guide your implementation, but gives more scope for design decisions than just local methods.