make class method tests arm tests

This commit is contained in:
Torsten 2020-03-28 09:36:16 +02:00
parent 06944142d6
commit 2b467fc555
4 changed files with 37 additions and 91 deletions

37
test/mains/test_class.rb Normal file
View File

@ -0,0 +1,37 @@
require_relative "helper"
module Mains
class ClassTester < MiniTest::Test
include MainsHelper
def test_simple_call
@input = code("return Space.get")
assert_result 5 , ""
end
def test_inst_get
@input = code("return Space.get" , "@inst = 5;return @inst")
assert_result 5 , ""
end
def test_inst_set
setter = "def self.set(num); @inst = num;end ;"
@input = code("Space.set(6);return Space.get" , "return @inst" , setter)
assert_result 6 , ""
end
def code( main , get = "return 5" , extra = "")
@input = <<MAIN
class Space
#{extra}
def self.get
#{get}
end
def main(arg)
#{main}
end
end
MAIN
end
end
end

View File

@ -1,29 +0,0 @@
require_relative "../helper"
module Risc
class InterpreterGetters < MiniTest::Test
include Ticker
def setup
@preload = "Integer.div4"
@string_input = <<MAIN
class Space
def self.get
@inst = 5
return @inst
end
def main(arg)
return Space.get
end
end
MAIN
super
end
def test_chain
#show_main_ticks # get output of what is
run_input @string_input
assert_equal 5 , get_return
end
end
end

View File

@ -1,33 +0,0 @@
require_relative "../helper"
module Risc
class InterpreterSetters < MiniTest::Test
include Ticker
def setup
@preload = "Integer.div4"
@string_input = <<MAIN
class Space
def self.set(num)
@inst = num
end
def self.get
return @inst
end
def main(arg)
Space.set(5)
return Space.get
end
end
MAIN
super
end
def test_chain
#show_main_ticks # get output of what is
run_input @string_input
assert_equal 5 , get_return
end
end
end

View File

@ -1,29 +0,0 @@
require_relative "../helper"
module Risc
class InterpreterClassSend < MiniTest::Test
include Ticker
def setup
@preload = "Integer.div4"
@string_input = <<MAIN
class Space
def self.get
return 5
end
def main(arg)
return Space.get
end
end
MAIN
super
end
def test_chain
#show_main_ticks # get output of what is
run_input @string_input
assert_equal 5 , get_return
end
end
end