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

Commit

Permalink
Moved tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
jorgecarleitao committed Aug 15, 2021
1 parent 5bd2aa6 commit f9f85ff
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 77 deletions.
51 changes: 0 additions & 51 deletions src/array/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -476,57 +476,6 @@ pub unsafe trait GenericBinaryArray<O: Offset>: Array {
fn offsets(&self) -> &[O];
}

#[cfg(test)]
mod tests {
use super::*;
use crate::datatypes::*;

#[test]
fn nulls() {
let datatypes = vec![
DataType::Int32,
DataType::Float64,
DataType::Utf8,
DataType::Binary,
DataType::List(Box::new(Field::new("a", DataType::Binary, true))),
];
let a = datatypes
.into_iter()
.all(|x| new_null_array(x, 10).null_count() == 10);
assert!(a);
}

#[test]
fn empty() {
let datatypes = vec![
DataType::Int32,
DataType::Float64,
DataType::Utf8,
DataType::Binary,
DataType::List(Box::new(Field::new("a", DataType::Binary, true))),
DataType::Union(vec![Field::new("a", DataType::Binary, true)], None, true),
DataType::Union(vec![Field::new("a", DataType::Binary, true)], None, false),
];
let a = datatypes.into_iter().all(|x| new_empty_array(x).len() == 0);
assert!(a);
}

#[test]
fn test_clone() {
let datatypes = vec![
DataType::Int32,
DataType::Float64,
DataType::Utf8,
DataType::Binary,
DataType::List(Box::new(Field::new("a", DataType::Binary, true))),
];
let a = datatypes
.into_iter()
.all(|x| clone(new_null_array(x.clone(), 10).as_ref()) == new_null_array(x, 10));
assert!(a);
}
}

// backward compatibility
use std::sync::Arc;
pub type ArrayRef = Arc<dyn Array>;
26 changes: 0 additions & 26 deletions src/array/union/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -247,29 +247,3 @@ impl std::fmt::Display for UnionArray {
display_fmt(iter, head, f, new_lines)
}
}

#[cfg(test)]
mod tests {
use super::*;
use crate::{array::*, buffer::Buffer, datatypes::*, error::Result};

#[test]
fn display() -> Result<()> {
let fields = vec![
Field::new("a", DataType::Int32, true),
Field::new("b", DataType::Utf8, true),
];
let data_type = DataType::Union(fields, None, true);
let types = Buffer::from(&[0, 0, 1]);
let fields = vec![
Arc::new(Int32Array::from(&[Some(1), None, Some(2)])) as Arc<dyn Array>,
Arc::new(Utf8Array::<i32>::from(&[Some("a"), Some("b"), Some("c")])) as Arc<dyn Array>,
];

let array = UnionArray::from_data(data_type, types, fields, None);

assert_eq!(format!("{}", array), "UnionArray[1, , c]");

Ok(())
}
}
49 changes: 49 additions & 0 deletions tests/it/array/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,53 @@ mod growable;
mod list;
mod ord;
mod primitive;
mod union;
mod utf8;

use arrow2::array::{clone, new_empty_array, new_null_array};
use arrow2::datatypes::{DataType, Field};

#[test]
fn nulls() {
let datatypes = vec![
DataType::Int32,
DataType::Float64,
DataType::Utf8,
DataType::Binary,
DataType::List(Box::new(Field::new("a", DataType::Binary, true))),
];
let a = datatypes
.into_iter()
.all(|x| new_null_array(x, 10).null_count() == 10);
assert!(a);
}

#[test]
fn empty() {
let datatypes = vec![
DataType::Int32,
DataType::Float64,
DataType::Utf8,
DataType::Binary,
DataType::List(Box::new(Field::new("a", DataType::Binary, true))),
DataType::Union(vec![Field::new("a", DataType::Binary, true)], None, true),
DataType::Union(vec![Field::new("a", DataType::Binary, true)], None, false),
];
let a = datatypes.into_iter().all(|x| new_empty_array(x).len() == 0);
assert!(a);
}

#[test]
fn test_clone() {
let datatypes = vec![
DataType::Int32,
DataType::Float64,
DataType::Utf8,
DataType::Binary,
DataType::List(Box::new(Field::new("a", DataType::Binary, true))),
];
let a = datatypes
.into_iter()
.all(|x| clone(new_null_array(x.clone(), 10).as_ref()) == new_null_array(x, 10));
assert!(a);
}
23 changes: 23 additions & 0 deletions tests/it/array/union.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
use std::sync::Arc;

use arrow2::{array::*, buffer::Buffer, datatypes::*, error::Result};

#[test]
fn display() -> Result<()> {
let fields = vec![
Field::new("a", DataType::Int32, true),
Field::new("b", DataType::Utf8, true),
];
let data_type = DataType::Union(fields, None, true);
let types = Buffer::from(&[0, 0, 1]);
let fields = vec![
Arc::new(Int32Array::from(&[Some(1), None, Some(2)])) as Arc<dyn Array>,
Arc::new(Utf8Array::<i32>::from(&[Some("a"), Some("b"), Some("c")])) as Arc<dyn Array>,
];

let array = UnionArray::from_data(data_type, types, fields, None);

assert_eq!(format!("{}", array), "UnionArray[1, , c]");

Ok(())
}

0 comments on commit f9f85ff

Please sign in to comment.