2018-08-08 11:03:17 +02:00
|
|
|
require_relative 'helper'
|
|
|
|
|
2019-08-24 16:00:14 +02:00
|
|
|
# The "New" in this TestNew means that this is the place to develop a new test for the
|
|
|
|
# mains dir.
|
|
|
|
# If you just pop a file in the source directory, all tests will run.
|
2019-02-27 08:48:21 +01:00
|
|
|
# This is fine if all is fine. But if all is fine, you are not developing, just playing.
|
2019-08-24 16:00:14 +02:00
|
|
|
# So when you really need to itereate editing this gives guard auto-run and just of that
|
2019-02-27 08:48:21 +01:00
|
|
|
# one test that you work on.
|
|
|
|
|
|
|
|
# After getting the test to run, copy paste the whole code into a file in source and revert
|
|
|
|
# changes on this file.
|
|
|
|
|
2018-08-08 11:03:17 +02:00
|
|
|
module Mains
|
|
|
|
class TestNew < MiniTest::Test
|
|
|
|
include Risc::Ticker
|
|
|
|
|
2019-02-27 08:48:21 +01:00
|
|
|
def whole_input
|
|
|
|
<<-eos
|
2019-09-08 14:31:03 +02:00
|
|
|
class Class
|
|
|
|
def get_name
|
|
|
|
@name
|
|
|
|
end
|
|
|
|
end
|
|
|
|
class Type
|
|
|
|
def get_name
|
|
|
|
@object_class.get_name
|
2019-02-27 08:48:21 +01:00
|
|
|
end
|
2019-09-08 14:31:03 +02:00
|
|
|
end
|
|
|
|
class Space
|
2019-02-27 08:48:21 +01:00
|
|
|
def main(arg)
|
2019-09-08 14:31:03 +02:00
|
|
|
@type.get_name.putstring
|
2019-02-27 08:48:21 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
eos
|
|
|
|
end
|
|
|
|
|
2018-08-08 11:03:17 +02:00
|
|
|
def setup
|
2019-09-13 13:07:12 +02:00
|
|
|
@preload = "Word.put"
|
2019-02-27 08:48:21 +01:00
|
|
|
@string_input = whole_input
|
2018-08-08 11:03:17 +02:00
|
|
|
super
|
|
|
|
end
|
2019-02-27 08:48:21 +01:00
|
|
|
def test_chain
|
2018-08-08 11:03:17 +02:00
|
|
|
run_all
|
2019-02-07 17:24:35 +01:00
|
|
|
assert_equal ::Integer , get_return.class , " "
|
2019-09-08 14:31:03 +02:00
|
|
|
#assert_equal 4 , get_return , " "
|
2019-09-09 10:47:37 +02:00
|
|
|
assert_equal "Space" , @interpreter.stdout
|
2018-08-08 11:03:17 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|