def test_encode_text_string(string_value): encoder = TextStringEncoder() if not is_text(string_value): with pytest.raises(EncodingTypeError) as exception_info: encoder(string_value) assert 'TextStringEncoder' in str(exception_info.value) return string_value_as_bytes = codecs.encode(string_value, 'utf8') expected_value = ( encode_uint_256(len(string_value_as_bytes)) + ( zpad_right( string_value_as_bytes, ceil32(len(string_value_as_bytes)), ) if string_value else b'\x00' * 32 ) ) encoded_value = encoder(string_value) assert encoded_value == expected_value
def test_encode_text_string(string_value): encoder = TextStringEncoder.as_encoder() if not is_text(string_value): with pytest.raises(EncodingTypeError) as exception_info: encoder(string_value) assert 'TextStringEncoder' in str(exception_info.value) return string_value_as_bytes = codecs.encode(string_value, 'utf8') expected_value = ( encode_uint_256(len(string_value_as_bytes)) + ( zpad_right( string_value_as_bytes, ceil32(len(string_value_as_bytes)), ) if string_value else b'\x00' * 32 ) ) encoded_value = encoder(string_value) assert encoded_value == expected_value
def test_encode_string(string_value): encoder = StringEncoder.as_encoder() if not is_bytes(string_value): with pytest.raises(EncodingTypeError): encoder(string_value) return expected_value = (encode_uint_256(len(string_value)) + (zpad_right(string_value, ceil32(len(string_value))) if string_value else b'\x00' * 32)) encoded_value = encoder(string_value) assert encoded_value == expected_value
def test_encode_byte_string(string_value): encoder = ByteStringEncoder() if not is_bytes(string_value): with pytest.raises(EncodingTypeError) as exception_info: encoder(string_value) assert 'ByteStringEncoder' in str(exception_info.value) return expected_value = (encode_uint_256(len(string_value)) + (zpad_right( string_value, ceil32(len(string_value))) if string_value else b'')) encoded_value = encoder(string_value) assert encoded_value == expected_value
def test_encode_byte_string(string_value): encoder = ByteStringEncoder() if not is_bytes(string_value): with pytest.raises(EncodingTypeError) as exception_info: encoder(string_value) assert 'ByteStringEncoder' in str(exception_info.value) return expected_value = ( encode_uint_256(len(string_value)) + ( zpad_right(string_value, ceil32(len(string_value))) if string_value else b'\x00' * 32 ) ) encoded_value = encoder(string_value) assert encoded_value == expected_value