()
| 378 | |
| 379 | #[test] |
| 380 | fn test_with_values_field() { |
| 381 | let value_field = Arc::new(Field::new("bars", DataType::Int32, false)); |
| 382 | let mut builder = MapBuilder::new(None, Int32Builder::new(), Int32Builder::new()) |
| 383 | .with_values_field(value_field.clone()); |
| 384 | builder.keys().append_value(1); |
| 385 | builder.values().append_value(2); |
| 386 | builder.append(true).unwrap(); |
| 387 | builder.append(false).unwrap(); // This is fine as nullability refers to nullability of values |
| 388 | builder.keys().append_value(3); |
| 389 | builder.values().append_value(4); |
| 390 | builder.append(true).unwrap(); |
| 391 | let map = builder.finish(); |
| 392 | |
| 393 | assert_eq!(map.len(), 3); |
| 394 | assert_eq!( |
| 395 | map.data_type(), |
| 396 | &DataType::Map( |
| 397 | Arc::new(Field::new( |
| 398 | "entries", |
| 399 | DataType::Struct( |
| 400 | vec![ |
| 401 | Arc::new(Field::new("keys", DataType::Int32, false)), |
| 402 | value_field.clone() |
| 403 | ] |
| 404 | .into() |
| 405 | ), |
| 406 | false, |
| 407 | )), |
| 408 | false |
| 409 | ) |
| 410 | ); |
| 411 | |
| 412 | builder.keys().append_value(5); |
| 413 | builder.values().append_value(6); |
| 414 | builder.append(true).unwrap(); |
| 415 | let map = builder.finish(); |
| 416 | |
| 417 | assert_eq!(map.len(), 1); |
| 418 | assert_eq!( |
| 419 | map.data_type(), |
| 420 | &DataType::Map( |
| 421 | Arc::new(Field::new( |
| 422 | "entries", |
| 423 | DataType::Struct( |
| 424 | vec![ |
| 425 | Arc::new(Field::new("keys", DataType::Int32, false)), |
| 426 | value_field |
| 427 | ] |
| 428 | .into() |
| 429 | ), |
| 430 | false, |
| 431 | )), |
| 432 | false |
| 433 | ) |
| 434 | ); |
| 435 | } |
| 436 | |
| 437 | #[test] |
nothing calls this directly
no test coverage detected