turingschool/robodoku_spec_harness

Name: robodoku_spec_harness

Owner: Turing School of Software & Design

Description: Automated spec harness for Turing's Robodoku project

Created: 2015-05-06 22:54:41.0

Updated: 2015-05-07 03:45:59.0

Pushed: 2015-05-07 03:45:58.0

Homepage: null

Size: 144

Language: Ruby

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Robodoku Spec Harness

This is the evaluation test harness for Robodoku.

For this to run, all the require statements in your Robodku project must be require_relative.

Installing Locally

Git clone this project into a directory that lives at the same level as your robodoku project directory. It should be arranged like:

<my_code_directory>
|
|\
| \robodoku/
|
|\
| \robodoku_spec_harness/
|

Change directories into the robodoku_spec_harness/ directory and then execute:

$ bundle

This will load in your Robodoku implementation from your local file system.

Usage

To test your implementation against the evaluation specs, run:

$ rake spec
Note on reading Puzzle Filepaths

The spec harness will provide the paths to puzzle source files as absolute paths (meaning full paths from the root of the filesystem). For this reason, you should not try to join or otherwise manipulate these paths.

Note on output format

Remember that, as specified in the project spec, your solver should output solved puzzles to the terminal as 9 lines of text with each line having 9 columns.

For Example:

94317
38942
21865
59278
67153
13694
42786
76539
85421

The spec harness will attempt to chomp a single newline off the end of your output, if one is present.

Note on puzzle difficulty

The sample puzzles and solutions for this spec harness were culled from various online sudoku sites and the labeled difficulties are based on how the original sources labeled them.

However what may be difficult for a human solver may not be so difficult for a computer, and vice versa. It's entirely possible that certain algorithms might breeze through a “hard” puzzle but struggle with a “medium.”


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.