SmartLogic Code Test

This exercise will provide us with an initial gauge of your programming skills, and more importantly, your overall software development craftsmanship. It is not meant to be long, tricky, or complicated. It is not timed, so you can take as long as you need within the submission window.

Goal

In a language of your choice, parse the following set of three input files found on the page linked below:

Input Files


and produce the following output:

Output Files

What you will be graded on

  • Correct Output
  • Simplicity
  • Unit testing (output and input)
  • Object Oriented Design Principles / Clean design
  • Readability
  • Ability to follow these instructions

Include / Don't Include

  • Include a README file that describes how to build and run the application and its tests.
  • Include your application source code and test code.
  • Do not include any build artifacts or compiled binaries.
  • Your program may only use the standard libraries which accompany your chosen languageā€™s runtime, with the following exceptions:
    • Do use an existing unit testing framework (e.g., minitest, rspec, mocha, JUnit, etc.). If your language does not include tools for file I/O, use a package manager (such as npm or bundler) to include any required libraries.
    • You may also use a build tool (e.g. Ant, nmake, maven, gulp, rake, etc.) to build your project.
    • No other external libraries may be used.
  • If you use a build tool to build your project, include the build file as well.
  • Your program should be runnable from the command line.
  • If you think the test or instructions could be improved, let us know.

Your Submission

Solutions should be submitted using the upload link you received via email. If you did not receive an email with this link, please contact us.

Your solution should be sent in a zip archive, with the filename templated:

{ your_last_name }-{ your_first_name }.zip

Questions and comments are welcome.