test: Fix VectorBuilder test and add Value data type test

This commit is contained in:
evenyag
2022-06-10 17:31:59 +08:00
parent 46c5681cb0
commit 268598eb57
2 changed files with 62 additions and 2 deletions

View File

@@ -214,6 +214,66 @@ mod tests {
assert_eq!(Value::Binary(bytes.clone()), Value::from(bytes));
}
#[test]
fn test_value_datatype() {
assert_eq!(
ConcreteDataType::boolean_datatype(),
Value::Boolean(true).data_type()
);
assert_eq!(
ConcreteDataType::uint8_datatype(),
Value::UInt8(u8::MIN).data_type()
);
assert_eq!(
ConcreteDataType::uint16_datatype(),
Value::UInt16(u16::MIN).data_type()
);
assert_eq!(
ConcreteDataType::uint16_datatype(),
Value::UInt16(u16::MAX).data_type()
);
assert_eq!(
ConcreteDataType::uint32_datatype(),
Value::UInt32(u32::MIN).data_type()
);
assert_eq!(
ConcreteDataType::uint64_datatype(),
Value::UInt64(u64::MIN).data_type()
);
assert_eq!(
ConcreteDataType::int8_datatype(),
Value::Int8(i8::MIN).data_type()
);
assert_eq!(
ConcreteDataType::int16_datatype(),
Value::Int16(i16::MIN).data_type()
);
assert_eq!(
ConcreteDataType::int32_datatype(),
Value::Int32(i32::MIN).data_type()
);
assert_eq!(
ConcreteDataType::int64_datatype(),
Value::Int64(i64::MIN).data_type()
);
assert_eq!(
ConcreteDataType::float32_datatype(),
Value::Float32(OrderedFloat(f32::MIN)).data_type(),
);
assert_eq!(
ConcreteDataType::float64_datatype(),
Value::Float64(OrderedFloat(f64::MIN)).data_type(),
);
assert_eq!(
ConcreteDataType::string_datatype(),
Value::String(StringBytes::from("hello")).data_type(),
);
assert_eq!(
ConcreteDataType::binary_datatype(),
Value::Binary(Bytes::from(b"world".as_slice())).data_type()
);
}
#[test]
fn test_value_from_string() {
let hello = "hello".to_string();

View File

@@ -164,11 +164,11 @@ mod tests {
let mut builder = VectorBuilder::new(ConcreteDataType::$datatype());
builder.push(&Value::Null);
builder.push(&Value::Int32(100));
builder.push(&Value::$Type(100));
let vector = builder.finish();
assert!(vector.is_null(0));
assert_eq!(Value::Int32(100), vector.get(1));
assert_eq!(Value::$Type(100), vector.get(1));
};
}