f9e95d7d1f
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)
181 lines
2.5 KiB
Ruby
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
|