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

Function test_with_keys_field

arrow-array/src/builder/map_builder.rs:438–472  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

436
437 #[test]
438 fn test_with_keys_field() {
439 let mut key_metadata = HashMap::new();
440 key_metadata.insert("foo".to_string(), "bar".to_string());
441 let key_field = Arc::new(
442 Field::new("keys", DataType::Int32, false).with_metadata(key_metadata.clone()),
443 );
444 let mut builder = MapBuilder::new(None, Int32Builder::new(), Int32Builder::new())
445 .with_keys_field(key_field.clone());
446 builder.keys().append_value(1);
447 builder.values().append_value(2);
448 builder.append(true).unwrap();
449 let map = builder.finish();
450
451 assert_eq!(map.len(), 1);
452 assert_eq!(
453 map.data_type(),
454 &DataType::Map(
455 Arc::new(Field::new(
456 "entries",
457 DataType::Struct(
458 vec![
459 Arc::new(
460 Field::new("keys", DataType::Int32, false)
461 .with_metadata(key_metadata)
462 ),
463 Arc::new(Field::new("values", DataType::Int32, true))
464 ]
465 .into()
466 ),
467 false,
468 )),
469 false
470 )
471 );
472 }
473
474 #[test]
475 fn test_append_nulls() {

Callers

nothing calls this directly

Calls 9

with_keys_fieldMethod · 0.80
insertMethod · 0.45
with_metadataMethod · 0.45
cloneMethod · 0.45
append_valueMethod · 0.45
keysMethod · 0.45
valuesMethod · 0.45
appendMethod · 0.45
finishMethod · 0.45

Tested by

no test coverage detected