instructies

Eenmaal
- maak een map katas/codewars, en daarin:
- sla watcher op en maak uitvoerbaar
- sla test_helper.rb op
Per kata
- maak een eigen bestand met de kata-naam (bv encode_rail_fence_cipher.rb)
- neem in je code op:
  require './test_helper.rb'
- neem de tests uit de kata over
- draai in een apart venster
  ./watcher encode_rail_fence_cipher.rb
	

watcher

#!/bin/bash

RUNNER='php'
if [[ $1 == *.rb ]]; then
    RUNNER='ruby'
fi

DIRS='.'

watch() {
    clear
    $@
    while inotifywait -q --exclude "\.swp|log*" -e modify,close_write --recursive $DIRS; do
	clear
	$@
    done
}

watch $RUNNER $*
	

test_helper.rb

def describe(title, &block)
  yield
end

def it(title)
  Test.start
  yield
  Test.stop
end

class Test

  @failures = []

  def self.assert_equals(actual, expected)
    if expected == actual
      print '.'
    else
      print 'F'
      @failures << "expected #{expected}, got #{actual}"
    end
  end

  def self.start
    @failures = []
  end

  def self.stop
    puts
    if @failures.length.positive?
      puts 'FAILURES!'
      puts @failures.join("\n")
    else
      puts 'OK'
    end
  end

end