public void Multiple_values() { var integers = new[] { 0xC0u, 0x0u, 0xC8u, 0xE8u, 0x56u, 0xFFu, 0xFFu, 0xFFu, 0x7Fu, 0x0u, 0xFFu, 0x7Fu, 0x81u, 0x80u, 0x0u }; var expected = new[] { 0x2000u, 0x123456u, 0xFFFFFFFu, 0x0u, 0x3FFFu, 0x4000u }; Assert.Equal(expected, VariableLengthQuantity.Decode(integers)); }
public void Four_bytes() { var integers = new[] { 0x81u, 0x80u, 0x80u, 0x0u }; var expected = new[] { 0x200000u }; Assert.Equal(expected, VariableLengthQuantity.Decode(integers)); }
public void Maximum_32_bit_integer() { var integers = new[] { 0x8Fu, 0xFFu, 0xFFu, 0xFFu, 0x7Fu }; var expected = new[] { 0xFFFFFFFFu }; Assert.Equal(expected, VariableLengthQuantity.Decode(integers)); }
public void Three_bytes() { var integers = new[] { 0xFFu, 0xFFu, 0x7Fu }; var expected = new[] { 0x1FFFFFu }; Assert.Equal(expected, VariableLengthQuantity.Decode(integers)); }
public void Incomplete_sequence_causes_error_even_if_value_is_zero() { var integers = new[] { 0x80u }; Assert.Throws <InvalidOperationException>(() => VariableLengthQuantity.Decode(integers)); }