use nodedb_types::columnar::{ColumnDef, ColumnType, ColumnarSchema, SchemaOps};
#[test]
fn bitemporal_columnar_schema_shape() {
let base = ColumnarSchema::new(vec![
ColumnDef::required("id", ColumnType::Int64).with_primary_key(),
ColumnDef::nullable("value", ColumnType::Float64),
])
.unwrap();
let mut cols = Vec::with_capacity(3 + base.columns.len());
cols.push(ColumnDef::required("_ts_system", ColumnType::Int64));
cols.push(ColumnDef::required("_ts_valid_from", ColumnType::Int64));
cols.push(ColumnDef::required("_ts_valid_until", ColumnType::Int64));
cols.extend(base.columns);
let bitemporal = ColumnarSchema::new(cols).unwrap();
assert_eq!(bitemporal.columns[0].name, "_ts_system");
assert_eq!(bitemporal.columns[1].name, "_ts_valid_from");
assert_eq!(bitemporal.columns[2].name, "_ts_valid_until");
assert_eq!(bitemporal.columns[3].name, "id");
assert_eq!(bitemporal.columns[4].name, "value");
assert_eq!(bitemporal.len(), 5);
}