rusmpp/values/
replace_if_present_flag.rs1crate::create! {
2 #[repr(u8)]
3 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Default)]
4 #[cfg_attr(feature = "arbitrary", derive(::arbitrary::Arbitrary))]
5 #[cfg_attr(feature = "serde", derive(::serde::Serialize))]
6 #[cfg_attr(feature = "serde-deserialize-unchecked", derive(::serde::Deserialize))]
7 pub enum ReplaceIfPresentFlag {
8 #[default]
9 DoNotReplace = 0,
10 Replace = 1,
11 Other(u8),
12 }
13}
14
15impl From<u8> for ReplaceIfPresentFlag {
16 fn from(value: u8) -> Self {
17 match value {
18 0 => ReplaceIfPresentFlag::DoNotReplace,
19 1 => ReplaceIfPresentFlag::Replace,
20 value => ReplaceIfPresentFlag::Other(value),
21 }
22 }
23}
24
25impl From<ReplaceIfPresentFlag> for u8 {
26 fn from(value: ReplaceIfPresentFlag) -> Self {
27 match value {
28 ReplaceIfPresentFlag::DoNotReplace => 0,
29 ReplaceIfPresentFlag::Replace => 1,
30 ReplaceIfPresentFlag::Other(value) => value,
31 }
32 }
33}
34
35#[cfg(test)]
36mod tests {
37 use super::*;
38
39 #[test]
40 fn encode_decode() {
41 crate::tests::encode_decode_test_instances::<ReplaceIfPresentFlag>();
42 }
43}