38 lines
612 B
Ruby
38 lines
612 B
Ruby
#!/usr/bin/env ruby
|
|
#
|
|
# Put description here
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
|
|
require 'swig_assert'
|
|
|
|
require 'aggregate'
|
|
|
|
include Aggregate
|
|
|
|
# Confirm that move() returns correct results under normal use
|
|
result = move(UP)
|
|
raise RuntimeError unless (result == UP)
|
|
|
|
result = move(DOWN)
|
|
raise RuntimeError unless (result == DOWN)
|
|
|
|
result = move(LEFT)
|
|
raise RuntimeError unless (result == LEFT)
|
|
|
|
result = move(RIGHT)
|
|
raise RuntimeError unless (result == RIGHT)
|
|
|
|
# Confirm that it raises an exception when the contract is violated
|
|
failed = false
|
|
begin
|
|
move(0)
|
|
rescue RuntimeError
|
|
failed = true
|
|
end
|
|
raise RuntimeError unless failed
|
|
|