diff --git a/lib/parfait/binary_code.rb b/lib/parfait/binary_code.rb index ae66dbe1..37c147da 100644 --- a/lib/parfait/binary_code.rb +++ b/lib/parfait/binary_code.rb @@ -23,6 +23,13 @@ module Parfait def to_s "BinaryCode #{}" end + def each_word + index = 1 + while( index <= 14) + yield get_internal_word(index) + index += 1 + end + end #16 - 2 -1 , two instance varaibles and one for the jump def data_length 13 diff --git a/lib/parfait/data_object.rb b/lib/parfait/data_object.rb index e0d5e38b..53295951 100644 --- a/lib/parfait/data_object.rb +++ b/lib/parfait/data_object.rb @@ -48,16 +48,25 @@ module Parfait def data_length 1 end + def padded_length + 2 + end end class Data8 < DataObject def data_length 7 end + def padded_length + 8 + end end class Data16 < DataObject def data_length 15 end + def padded_length + 16 + end end end diff --git a/test/parfait/test_binary_code.rb b/test/parfait/test_binary_code.rb index f571efd8..f3722fa4 100644 --- a/test/parfait/test_binary_code.rb +++ b/test/parfait/test_binary_code.rb @@ -69,5 +69,10 @@ module Parfait assert @code.next assert_nil @code.next.next end + def test_each + len = 0 + @code.each_word{ len += 1} + assert_equal 14 , len + end end end