| #!/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 | |