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