putting tests into module
This commit is contained in:
parent
da58ce30e3
commit
8aee761b73
@ -1,7 +1,8 @@
|
|||||||
require_relative "../helper"
|
require_relative "../helper"
|
||||||
require "register/interpreter"
|
require "register/interpreter"
|
||||||
|
|
||||||
module Ticker
|
module Register
|
||||||
|
module Ticker
|
||||||
include AST::Sexp
|
include AST::Sexp
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@ -60,4 +61,5 @@ module Ticker
|
|||||||
end
|
end
|
||||||
exit(1)
|
exit(1)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
require_relative "helper"
|
require_relative "helper"
|
||||||
|
|
||||||
class AddTest < MiniTest::Test
|
module Register
|
||||||
|
class AddTest < MiniTest::Test
|
||||||
include Ticker
|
include Ticker
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@string_input = <<HERE
|
@string_input = <<HERE
|
||||||
class Space
|
class Space
|
||||||
int main()
|
int main()
|
||||||
return 5 + 7
|
return 5 + 7
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
HERE
|
HERE
|
||||||
@input = s(:statements, s(:return, s(:operator_value, :+, s(:int, 5), s(:int, 7))))
|
@input = s(:statements, s(:return, s(:operator_value, :+, s(:int, 5), s(:int, 7))))
|
||||||
super
|
super
|
||||||
@ -57,4 +58,5 @@ HERE
|
|||||||
result = @interpreter.get_register(done_op.left)
|
result = @interpreter.get_register(done_op.left)
|
||||||
assert_equal result , 12
|
assert_equal result , 12
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
require_relative "helper"
|
require_relative "helper"
|
||||||
|
|
||||||
class TestInterpretRegToByte < MiniTest::Test
|
module Register
|
||||||
|
class TestInterpretRegToByte < MiniTest::Test
|
||||||
include Ticker
|
include Ticker
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@string_input = <<HERE
|
@string_input = <<HERE
|
||||||
class Space
|
class Space
|
||||||
int main()
|
int main()
|
||||||
"Hello".set_internal_byte(1,104)
|
"Hello".set_internal_byte(1,104)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
HERE
|
HERE
|
||||||
@input = s(:statements, s(:call,
|
@input = s(:statements, s(:call,
|
||||||
s(:name, :set_internal_byte),
|
s(:name, :set_internal_byte),
|
||||||
@ -61,4 +62,5 @@ HERE
|
|||||||
assert_equal "h".ord , @interpreter.get_register(done.register)
|
assert_equal "h".ord , @interpreter.get_register(done.register)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
require_relative "helper"
|
require_relative "helper"
|
||||||
|
|
||||||
class IfCalledTest < MiniTest::Test
|
module Register
|
||||||
|
class IfCalledTest < MiniTest::Test
|
||||||
include Ticker
|
include Ticker
|
||||||
include Compiling
|
include Compiling
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@string_input = <<HERE
|
@string_input = <<HERE
|
||||||
class Space
|
class Space
|
||||||
int itest(int n)
|
int itest(int n)
|
||||||
if_zero( n - 12)
|
if_zero( n - 12)
|
||||||
"then".putstring()
|
"then".putstring()
|
||||||
@ -18,7 +19,7 @@ class Space
|
|||||||
int main()
|
int main()
|
||||||
itest(20)
|
itest(20)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
HERE
|
HERE
|
||||||
@input = s(:statements, s(:call, s(:name, :itest), s(:arguments, s(:int, 20))))
|
@input = s(:statements, s(:call, s(:name, :itest), s(:arguments, s(:int, 20))))
|
||||||
super
|
super
|
||||||
@ -48,4 +49,5 @@ HERE
|
|||||||
"FunctionReturn","RegisterTransfer","SlotToReg","SlotToReg","Label",
|
"FunctionReturn","RegisterTransfer","SlotToReg","SlotToReg","Label",
|
||||||
"FunctionReturn","RegisterTransfer","Syscall","NilClass"]
|
"FunctionReturn","RegisterTransfer","Syscall","NilClass"]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
require_relative "helper"
|
require_relative "helper"
|
||||||
|
|
||||||
class AddChange < MiniTest::Test
|
module Register
|
||||||
|
class AddChange < MiniTest::Test
|
||||||
include Ticker
|
include Ticker
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@ -42,4 +43,5 @@ class AddChange < MiniTest::Test
|
|||||||
"RegisterTransfer","Syscall","NilClass"]
|
"RegisterTransfer","Syscall","NilClass"]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
require_relative "helper"
|
require_relative "helper"
|
||||||
|
|
||||||
class MultTest < MiniTest::Test
|
module Register
|
||||||
|
class MultTest < MiniTest::Test
|
||||||
include Ticker
|
include Ticker
|
||||||
include AST::Sexp
|
include AST::Sexp
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@string_input = <<HERE
|
@string_input = <<HERE
|
||||||
class Space
|
class Space
|
||||||
int main()
|
int main()
|
||||||
return #{2**31} * #{2**31}
|
return #{2**31} * #{2**31}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
HERE
|
HERE
|
||||||
@input = s(:statements, s(:return, s(:operator_value, :*, s(:int, 2147483648), s(:int, 2147483648))))
|
@input = s(:statements, s(:return, s(:operator_value, :*, s(:int, 2147483648), s(:int, 2147483648))))
|
||||||
super
|
super
|
||||||
@ -35,4 +35,5 @@ HERE
|
|||||||
assert @interpreter.flags[:zero]
|
assert @interpreter.flags[:zero]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
require_relative "helper"
|
require_relative "helper"
|
||||||
|
|
||||||
class PlusTest < MiniTest::Test
|
module Register
|
||||||
|
class PlusTest < MiniTest::Test
|
||||||
include Ticker
|
include Ticker
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@string_input = <<HERE
|
@string_input = <<HERE
|
||||||
class Space
|
class Space
|
||||||
int main()
|
int main()
|
||||||
return #{2**62 - 1} + 1
|
return #{2**62 - 1} + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
HERE
|
HERE
|
||||||
@input = s(:statements, s(:return, s(:operator_value, :+, s(:int, 4611686018427387903), s(:int, 1))))
|
@input = s(:statements, s(:return, s(:operator_value, :+, s(:int, 4611686018427387903), s(:int, 1))))
|
||||||
super
|
super
|
||||||
@ -33,4 +34,5 @@ HERE
|
|||||||
ticks( 12 )
|
ticks( 12 )
|
||||||
assert @interpreter.flags[:zero]
|
assert @interpreter.flags[:zero]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
require_relative "helper"
|
require_relative "helper"
|
||||||
|
|
||||||
class TestPuts < MiniTest::Test
|
module Register
|
||||||
|
class TestPuts < MiniTest::Test
|
||||||
include Ticker
|
include Ticker
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@string_input = <<HERE
|
@string_input = <<HERE
|
||||||
class Space
|
class Space
|
||||||
int main()
|
int main()
|
||||||
"Hello again".putstring()
|
"Hello again".putstring()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
HERE
|
HERE
|
||||||
@input = s(:statements, s(:call, s(:name, :putstring), s(:arguments), s(:receiver, s(:string, "Hello again"))))
|
@input = s(:statements, s(:call, s(:name, :putstring), s(:arguments), s(:receiver, s(:string, "Hello again"))))
|
||||||
super
|
super
|
||||||
@ -65,4 +66,5 @@ HERE
|
|||||||
assert_equal NilClass , done.class
|
assert_equal NilClass , done.class
|
||||||
assert_equal "Hello again" , @interpreter.stdout
|
assert_equal "Hello again" , @interpreter.stdout
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
require_relative "helper"
|
require_relative "helper"
|
||||||
|
|
||||||
class TestInterpretByteToReg < MiniTest::Test
|
module Register
|
||||||
|
class TestInterpretByteToReg < MiniTest::Test
|
||||||
include Ticker
|
include Ticker
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@string_input = <<HERE
|
@string_input = <<HERE
|
||||||
class Space
|
class Space
|
||||||
int main()
|
int main()
|
||||||
"Hello".get_internal_byte(1)
|
"Hello".get_internal_byte(1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
HERE
|
HERE
|
||||||
@input = s(:statements, s(:call,
|
@input = s(:statements, s(:call,
|
||||||
s(:name, :get_internal_byte),
|
s(:name, :get_internal_byte),
|
||||||
@ -61,4 +62,5 @@ HERE
|
|||||||
assert_equal "H".ord , @interpreter.get_register(done.register)
|
assert_equal "H".ord , @interpreter.get_register(done.register)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
require_relative "helper"
|
require_relative "helper"
|
||||||
|
|
||||||
class IfSimpleTest < MiniTest::Test
|
module Register
|
||||||
|
class IfSimpleTest < MiniTest::Test
|
||||||
include Ticker
|
include Ticker
|
||||||
include Compiling
|
include Compiling
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@string_input = <<HERE
|
@string_input = <<HERE
|
||||||
class Space
|
class Space
|
||||||
int main()
|
int main()
|
||||||
if_zero( 10 - 12)
|
if_zero( 10 - 12)
|
||||||
"then".putstring()
|
"then".putstring()
|
||||||
@ -14,7 +15,7 @@ class Space
|
|||||||
"else".putstring()
|
"else".putstring()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
HERE
|
HERE
|
||||||
@input = s(:statements, s(:if_statement, :zero, s(:condition, s(:operator_value, :-, s(:int, 10), s(:int, 12))),
|
@input = s(:statements, s(:if_statement, :zero, s(:condition, s(:operator_value, :-, s(:int, 10), s(:int, 12))),
|
||||||
s(:true_statements, s(:call, s(:name, :putstring), s(:arguments), s(:receiver, s(:string, "then")))),
|
s(:true_statements, s(:call, s(:name, :putstring), s(:arguments), s(:receiver, s(:string, "then")))),
|
||||||
@ -36,4 +37,5 @@ HERE
|
|||||||
"Label","Label","FunctionReturn","RegisterTransfer","Syscall",
|
"Label","Label","FunctionReturn","RegisterTransfer","Syscall",
|
||||||
"NilClass"]
|
"NilClass"]
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -5,7 +5,7 @@ module Register
|
|||||||
def test_simple_collect
|
def test_simple_collect
|
||||||
Machine.new.boot
|
Machine.new.boot
|
||||||
objects = Register::Collector.collect_space
|
objects = Register::Collector.collect_space
|
||||||
assert ((352 == objects.length) or (420 == objects.length)) , objects.length.to_s
|
assert ((352 == objects.length) or (419 == objects.length)) , objects.length.to_s
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user