1#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
5pub enum VerticalLabelPosition {
6 #[default]
8 Top,
9 Bottom,
11}
12
13#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
15pub enum VerticalValuePosition {
16 Top,
18 Middle,
20 #[default]
22 Bottom,
23}
24
25#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
27pub enum VerticalValueAlignment {
28 Left,
30 #[default]
32 Center,
33 Right,
35}
36
37impl VerticalValueAlignment {
38 pub fn to_ratatui_alignment(&self) -> ratatui::layout::Alignment {
40 match self {
41 VerticalValueAlignment::Left => ratatui::layout::Alignment::Left,
42 VerticalValueAlignment::Center => ratatui::layout::Alignment::Center,
43 VerticalValueAlignment::Right => ratatui::layout::Alignment::Right,
44 }
45 }
46}
47
48#[cfg(test)]
49mod tests {
50 use super::*;
51
52 #[test]
53 fn test_vertical_label_position_default() {
54 assert_eq!(VerticalLabelPosition::default(), VerticalLabelPosition::Top);
55 }
56
57 #[test]
58 fn test_vertical_value_position_default() {
59 assert_eq!(
60 VerticalValuePosition::default(),
61 VerticalValuePosition::Bottom
62 );
63 }
64
65 #[test]
66 fn test_vertical_value_alignment_default() {
67 assert_eq!(
68 VerticalValueAlignment::default(),
69 VerticalValueAlignment::Center
70 );
71 }
72
73 #[test]
74 fn test_vertical_value_alignment_conversion() {
75 use ratatui::layout::Alignment;
76
77 assert_eq!(
78 VerticalValueAlignment::Left.to_ratatui_alignment(),
79 Alignment::Left
80 );
81 assert_eq!(
82 VerticalValueAlignment::Center.to_ratatui_alignment(),
83 Alignment::Center
84 );
85 assert_eq!(
86 VerticalValueAlignment::Right.to_ratatui_alignment(),
87 Alignment::Right
88 );
89 }
90}