1#![allow(nonstandard_style)]
2
3include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
4
5#[cfg(test)]
6mod tests {
7 use std::ffi::c_int;
8
9 use super::*;
10
11 #[test]
12 fn test_probe() {
13 unsafe {
14 prophet_tb_init();
15
16 let pieces: [c_int; 6] = [
18 6, 5, 14, 0, 0, 0, ];
25 let squares: [c_int; 6] = [
26 4, 12, 60, 0, 0, 0, ];
33 let stm = 1; let ep_square = 64; assert_eq!(
37 prophet_tb_is_valid_position(pieces.as_ptr(), squares.as_ptr(), stm, ep_square),
38 1
39 );
40
41 let dctx = prophet_tb_create_decompress_ctx();
42 let dtm =
43 prophet_tb_probe_dtm_dctx(pieces.as_ptr(), squares.as_ptr(), stm, ep_square, dctx);
44 assert_eq!(dtm, -1001); assert!(11 <= prophet_tb_add_path(c"tables".as_ptr()));
47 let dtm =
48 prophet_tb_probe_dtm_dctx(pieces.as_ptr(), squares.as_ptr(), stm, ep_square, dctx);
49 assert_eq!(dtm, -16);
50
51 prophet_tb_free_decompress_ctx(dctx);
52
53 prophet_tb_deinit();
54 }
55 }
56}