use pyo3::pyclass;
use pyo3_special_method_derive::Dir;
#[pyclass]
#[derive(Dir)]
#[allow(dead_code)]
struct WithFieldSkip {
pub dora: u32,
pub my: String,
#[pyo3_smd(skip)]
pub name: f32,
}
#[test]
fn test_with_dir_skip() {
let dir = WithFieldSkip {
dora: 0,
my: "".to_string(),
name: 0.0,
}
.__dir__();
assert_eq!(vec!["dora".to_string(), "my".to_string()], dir);
}
#[pyclass]
#[derive(Dir)]
#[allow(dead_code)]
struct WithAllFieldsSkipped {
#[pyo3_smd(skip)]
pub dora: u32,
#[pyo3_smd(skip)]
pub my: String,
#[pyo3_smd(skip)]
pub name: f32,
}
#[test]
fn test_with_dir_all_skipped() {
let dir = WithAllFieldsSkipped {
dora: 0,
my: "".to_string(),
name: 0.0,
}
.__dir__();
assert!(dir.is_empty());
}