rubyx/test/soml/parfait/test_word.rb
Torsten Ruger f9e95d7d1f more tests
good thing, though it seemed to have worked all the time,
just the test framework was broken,
thus reusing already changed object (by the interpreter)
2015-11-20 13:28:49 +02:00

181 lines
2.5 KiB
Ruby

require_relative 'helper'
class TestwordRT < MiniTest::Test
include ParfaitTests
def test_len
@main = <<HERE
Word w = " "
return w.char_length
HERE
check 1
end
def test_set_len
@main = <<HERE
Word w = " "
w.set_length(2)
return w.char_length
HERE
check 2
end
def test_set_char_len
@main = <<HERE
Word w = " "
w.set_char_at(1 , 30)
return w.char_length
HERE
check 1
end
def test_set_char_len2
@main = <<HERE
Word w = " "
w.set_length(2)
w.set_char_at(2 , 30)
return w.char_length
HERE
check 2
end
def test_set_char_len3
@main = <<HERE
Word w = " "
w.set_length(2)
w.set_char_at(2 , 30)
return w.get_char_at(2)
HERE
check 30
end
def test_set_char_len4
@main = <<HERE
Word w = " "
w.set_char_at(1 , 20)
w.set_length(2)
return w.get_char_at(1)
HERE
check 20
end
def test_space
@main = <<HERE
Word w = " "
return w.get_char_at(1)
HERE
assert_equal 32 , " ".codepoints[0] # just checking
check 32
end
def test_add_doesnt_change1
@main = <<HERE
Word w = " "
w.push_char(48)
return w.get_char_at(1)
HERE
check 32
end
def test_after_add_get_works
@main = <<HERE
Word w = " "
w.push_char(48)
return w.get_char_at(2)
HERE
check 48
end
def test_after_add_length_works
@main = <<HERE
Word w = " "
w.push_char(32)
return w.char_length
HERE
check 2
end
def test_get1
@main = <<HERE
Word w = "12345"
return w.get_char_at(1)
HERE
check 49
end
def test_get2
@main = <<HERE
Word w = "12345"
return w.get_char_at(2)
HERE
check 50
end
def test_set2
@main = <<HERE
Word w = "12345"
w.set_char_at(2 , 51)
return w.get_char_at(2)
HERE
check 51
end
def test_push
@main = <<HERE
Word w = "1"
w.push_char(56)
return w.get_char_at(2)
HERE
check 56
end
def test_push1
@main = <<HERE
Word w = "1"
w.push_char(56)
return w.get_char_at(1)
HERE
check 49
end
def test_push_inlined
@main = <<HERE
Word w = "1"
int index = w.char_length + 1
w.set_length(index)
w.set_char_at(index , 56)
return w.char_length
HERE
check 2
end
def test_push_inlined2
@main = <<HERE
Word w = "1"
int index = w.char_length + 1
w.set_length(index)
return w.char_length
HERE
check 2
end
def test_push_len
@main = <<HERE
Word w = "1"
w.push_char(56)
return w.char_length
HERE
check 2
end
def test_push3_len
@main = <<HERE
Word w = "1"
w.push_char(56)
w.push_char(56)
w.push_char(56)
return w.char_length
HERE
check 4
end
end