rebound_sys/
lib.rs

1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4
5include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
6
7#[cfg(test)]
8mod tests {
9    use super::*;
10    use std::ffi::CString;
11
12    #[test]
13    fn test_create_simulation() {
14        unsafe {
15            let sim = reb_simulation_create();
16            assert!(!sim.is_null());
17            reb_simulation_free(sim);
18        }
19    }
20
21    #[test]
22    fn test_integrate_particle() {
23        unsafe {
24            let sim = reb_simulation_create();
25            let fmt_str = CString::new("M a").unwrap();
26            let particle = reb_particle_from_fmt(sim, fmt_str.as_ptr(), 1, 1);
27            reb_simulation_add(sim, particle);
28
29            reb_simulation_integrate(sim, 1.0);
30
31            reb_simulation_free(sim);
32        }
33    }
34}