battler_data/items/
item_flag.rs1use serde_string_enum::{
2 DeserializeLabeledStringEnum,
3 SerializeLabeledStringEnum,
4};
5
6#[derive(
9 Debug, Clone, PartialEq, Eq, Hash, SerializeLabeledStringEnum, DeserializeLabeledStringEnum,
10)]
11pub enum ItemFlag {
12 #[string = "Ball"]
14 Ball,
15 #[string = "Battle"]
17 Battle,
18 #[string = "Berry"]
20 Berry,
21 #[string = "ChoiceLocking"]
23 ChoiceLocking,
24 #[string = "DamageReducingBerry"]
26 DamageReducingBerry,
27 #[string = "EvasionRaising"]
29 EvasionRaising,
30 #[string = "Gem"]
32 Gem,
33 #[string = "Medicine"]
35 Medicine,
36 #[string = "NoKlutz"]
38 NoKlutz,
39}
40
41#[cfg(test)]
42mod item_flag_test {
43 use crate::{
44 ItemFlag,
45 test_util::{
46 test_string_deserialization,
47 test_string_serialization,
48 },
49 };
50
51 #[test]
52 fn serializes_to_string() {
53 test_string_serialization(ItemFlag::EvasionRaising, "EvasionRaising");
54 }
55
56 #[test]
57 fn deserializes_lowercase() {
58 test_string_deserialization("evasionraising", ItemFlag::EvasionRaising);
59 }
60}