Competition Instructions

Code Base

The supplied source code contains the following:

/src/xpday skeleton and helper classes

/lib – 3rd-party libraries needed to complete the tasks, run tests, etc.

/etc – sample word data files used by tests, story description, this document

/test/xpday – JUnit tests for helper classes

/test/xpday/acceptance – JUnit acceptance tests from story description

Prerequisites

  1. A Wintel or Unix-based environment 
  2. An existing JDK installation, version 1.4 or greater
  3. Software to open ZIPped files

Installation

These instructions assume you have already obtained a copy of the competition ZIP file (pp-comp.zip)
  1. Having obtained the encryption password from the coaches, unzip the ZIP file to the directory from which you'll be working
  2. Change to the xpday directory
  3. Run the appropriate configuration script for your environment:
  4. Test the installation by typing ant verify-install (if installation has been successful, messages showing your current JAVA_HOME and ANT_HOME settings will be displayed)
  5. Extract the source code and associated files by typing ant unpack
  6. Start pairing!

Time Limit

From the time you begin installing the code base, you have exactly 60 minutes to complete the tasks specified below.

Evaluation Criteria

  1. Implement the solution to ensure all acceptance tests provided (in test/acceptance/AZIndexerTest.java) execute successfully (they will all fail initially).

  1. Maintain the quality of your solution by using the ant metrics task to get feedback on a variety of quality metric checks.  Your completed solution must violate none of these checks.

Winning

The first pair to achieve the above criteria (as assessed by the merry band of wandering coaches) will be declared the overall winner. 

Should two or more pairs meet these criteria at (roughly) the same time, the coaches will decide on the final winner.

Should no pair meet these criteria within the allotted time, the coaches will decide on the winner based on work completed.

Notes

The supplied helper and skeleton classes are provided for your benefit only.  There is no obligation to use them if you do not wish to do so.  They can also be changed if needed.