1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4#![allow(clippy::upper_case_acronyms)]
5
6use std::env;
7
8include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
9
10#[cfg(test)]
11mod tests {
12 use super::*;
13
14 #[test]
15 fn read_matrix() {
16 let dmat_train_path = "xgboost/demo/data/agaricus.txt.train";
17
18 let silent = 0;
19 let mut handle = std::ptr::null_mut();
20 let fname = std::ffi::CString::new(dmat_train_path).unwrap();
21 let ret_val = unsafe { XGDMatrixCreateFromFile(fname.as_ptr(), silent, &mut handle) };
22 assert_eq!(ret_val, 0);
23
24 let mut num_rows = 0;
25 let ret_val = unsafe { XGDMatrixNumRow(handle, &mut num_rows) };
26 assert_eq!(ret_val, 0);
27 assert_eq!(num_rows, 6513);
28
29 let mut num_cols = 0;
30 let ret_val = unsafe { XGDMatrixNumCol(handle, &mut num_cols) };
31 assert_eq!(ret_val, 0);
32 assert_eq!(num_cols, 127);
33
34 let ret_val = unsafe { XGDMatrixFree(handle) };
35 assert_eq!(ret_val, 0);
36 }
37}