castep_param_io/param/general/
iprint.rs1use std::fmt::Display;
2
3use castep_param_derive::KeywordDisplay;
4use serde::{Deserialize, Serialize};
5
6#[derive(
7 Debug,
8 Clone,
9 Copy,
10 PartialEq,
11 Eq,
12 PartialOrd,
13 Ord,
14 Hash,
15 Default,
16 KeywordDisplay,
17 Serialize,
18 Deserialize,
19)]
20#[keyword_display(field = "IPRINT", direct_display = false)]
21pub enum IPrint {
29 Minimal,
30 #[default]
31 Default,
32 Verbose,
33 Full,
34}
35
36impl Display for IPrint {
37 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
38 write!(f, "{}", *self as usize)
39 }
40}
41
42#[cfg(test)]
43mod test {
44 use crate::param::KeywordDisplay;
45
46 use super::IPrint;
47
48 #[test]
49 fn iprint() {
50 let iprint = IPrint::default();
51 assert_eq!("IPRINT : 1", iprint.output());
52 }
53}