Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

Commit

Permalink
Added test for MapArray (#942)
Browse files Browse the repository at this point in the history
  • Loading branch information
jorgecarleitao authored Apr 13, 2022
1 parent 60130f4 commit dc617b7
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
51 changes: 51 additions & 0 deletions tests/it/array/map/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
use std::sync::Arc;

use arrow2::{
array::*,
datatypes::{DataType, Field},
};

#[test]
fn basics() {
let dt = DataType::Struct(vec![
Field::new("a", DataType::Utf8, true),
Field::new("b", DataType::Utf8, true),
]);
let data_type = DataType::Map(Box::new(Field::new("a", dt.clone(), true)), false);

let field = StructArray::new(
dt.clone(),
vec![
Arc::new(Utf8Array::<i32>::from_slice(["a", "aa", "aaa"])) as _,
Arc::new(Utf8Array::<i32>::from_slice(["b", "bb", "bbb"])),
],
None,
);

let array = MapArray::new(data_type, vec![0, 1, 2].into(), Arc::new(field), None);

assert_eq!(
array.value(0),
Box::new(StructArray::new(
dt.clone(),
vec![
Arc::new(Utf8Array::<i32>::from_slice(["a"])) as _,
Arc::new(Utf8Array::<i32>::from_slice(["b"])),
],
None,
)) as Box<dyn Array>
);

let sliced = array.slice(1, 1);
assert_eq!(
sliced.value(0),
Box::new(StructArray::new(
dt,
vec![
Arc::new(Utf8Array::<i32>::from_slice(["aa"])) as _,
Arc::new(Utf8Array::<i32>::from_slice(["bb"])),
],
None,
)) as Box<dyn Array>
);
}
1 change: 1 addition & 0 deletions tests/it/array/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ mod fixed_size_binary;
mod fixed_size_list;
mod growable;
mod list;
mod map;
mod ord;
mod primitive;
mod struct_;
Expand Down

0 comments on commit dc617b7

Please sign in to comment.