MCPcopy Create free account
hub / github.com/apache/arrow-rs / test_decimal_decoding_fixed128

Function test_decimal_decoding_fixed128

arrow-avro/src/reader/record.rs:3549–3571  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3547
3548 #[test]
3549 fn test_decimal_decoding_fixed128() {
3550 let dt = avro_from_codec(Codec::Decimal(28, Some(2), Some(16)));
3551 let mut decoder = Decoder::try_new(&dt).unwrap();
3552 let row1 = [
3553 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3554 0x30, 0x39,
3555 ];
3556 let row2 = [
3557 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
3558 0xFF, 0x85,
3559 ];
3560 let mut data = Vec::new();
3561 data.extend_from_slice(&row1);
3562 data.extend_from_slice(&row2);
3563 let mut cursor = AvroCursor::new(&data);
3564 decoder.decode(&mut cursor).unwrap();
3565 decoder.decode(&mut cursor).unwrap();
3566 let arr = decoder.flush(None).unwrap();
3567 let dec = arr.as_any().downcast_ref::<Decimal128Array>().unwrap();
3568 assert_eq!(dec.len(), 2);
3569 assert_eq!(dec.value_as_string(0), "123.45");
3570 assert_eq!(dec.value_as_string(1), "-1.23");
3571 }
3572
3573 #[test]
3574 fn test_decimal_decoding_fixed32_from_32byte_fixed_storage() {

Callers

nothing calls this directly

Calls 7

avro_from_codecFunction · 0.85
try_newFunction · 0.85
extend_from_sliceMethod · 0.80
DecimalClass · 0.50
decodeMethod · 0.45
flushMethod · 0.45
as_anyMethod · 0.45

Tested by

no test coverage detected