Beispiel #1
0
    def test_decode(self, value, expected_value):
        field = Repeated(Int32, number=1, packed=False)

        stream = io.BytesIO(value)

        data = []

        for _ in expected_value:
            decode_varint(stream)
            data.append(field.decode(stream))

        assert data == expected_value
Beispiel #2
0
    def test_decode(self, value, expected_value):
        stream = io.BytesIO(value)
        number, wire_type = decode_header(stream)

        assert number == 1
        assert wire_type == 2

        data = Repeated(Int32, number=1, packed=True).decode(stream)
        print('\n>>>', data)
Beispiel #3
0
 class PackedRepeatedEnum(Message):
     options = Repeated(Option, number=1, packed=packed)
Beispiel #4
0
 class UnpackedRepeatedMessage(Message):
     numbers: List[int] = Repeated(Int32, number=1, packed=False)
Beispiel #5
0
 def as_repeated(cls, *, number: int) -> Repeated:
     return Repeated(cls, number=number)
Beispiel #6
0
 def test_encode(self, value, expected_value):
     assert Repeated(Int32, number=1, packed=True).encode_value(value) == expected_value
Beispiel #7
0
 def test_invalid_input(self, invalid_input):
     with pytest.raises(ValueError):
         Repeated(Int32, number=1, packed=False).validate_value(invalid_input)
Beispiel #8
0
 def test_valid_input(self, valid_input):
     Repeated(Int32, number=1, packed=False).validate_value(valid_input)