diff --git a/lib/parfait/word.rb b/lib/parfait/word.rb index e8e4804f..1dd123c6 100644 --- a/lib/parfait/word.rb +++ b/lib/parfait/word.rb @@ -192,16 +192,19 @@ module Parfait def padded_length Object.padded( 4 * get_type().instance_length + @char_length ) end - def start_with(str1,prefix1) - @str=str1 - @prefix=prefix1 + def start_with(other) + return false if other.length > self.length + @str=self.to_string + @prefix=other.to_string s = @str.size() temp="" - for i in 0..s-1 + i=0 + while i<=s-1 temp=temp+@str[i] if temp==@prefix return true end + i=i+1 end return false end diff --git a/test/parfait/test_word2.rb b/test/parfait/test_word2.rb index de533dac..9908d24e 100644 --- a/test/parfait/test_word2.rb +++ b/test/parfait/test_word2.rb @@ -6,11 +6,7 @@ module Parfait super @word = Parfait::Word.new(5) end - def test_start_with - assert_equal true , @word.start_with("hello","hell") - assert_equal true , @word.start_with("Adbfgsj","Adbf") - assert_equal false , @word.start_with("Vanila","van") - end + def test_len assert_equal 5 , @word.length end @@ -88,6 +84,30 @@ module Parfait two = Parfait.new_word("one") assert one.compare(two) end + + def test_start_with + one = Parfait.new_word("Hello") + two = Parfait.new_word("Hel") + assert one.start_with(two) + one = Parfait.new_word("Vanilla") + two = Parfait.new_word("Va") + assert one.start_with(two) + one = Parfait.new_word("hello") + two = Parfait.new_word("hellooo") + assert_equal false, one.start_with(two) + one = Parfait.new_word("bajjs") + two = Parfait.new_word("bgjj") + assert_equal false, one.start_with(two) + #one = Parfait.new_word("hel") + #two = Parfait.new_word("hellooo") + #assert_equal false, one.start_with(two) + #one = Parfait.new_word("Vanilla") + #two = Parfait.new_word("vani") + #assert one.start_with(two) + #assert_equal true , @word.start_with("hello","hell") + #assert_equal true , @word.start_with("Adbfgsj","Adbf") + #assert_equal false , @word.start_with("Vanila","van") + end def test_first_char one = Parfait.new_word("one") one.set_char(0 , "T".ord)