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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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