Skip to main content

battler_data/items/
item_input.rs

1use serde_string_enum::{
2    DeserializeLabeledStringEnum,
3    SerializeLabeledStringEnum,
4};
5
6/// The acceptable target of an item.
7#[derive(
8    Debug, Clone, Copy, PartialEq, Eq, SerializeLabeledStringEnum, DeserializeLabeledStringEnum,
9)]
10pub enum ItemInput {
11    /// Move slot index.
12    #[string = "MoveSlot"]
13    MoveSlot,
14}
15
16#[cfg(test)]
17mod item_input_test {
18    use crate::{
19        items::ItemInput,
20        test_util::{
21            test_string_deserialization,
22            test_string_serialization,
23        },
24    };
25
26    #[test]
27    fn serializes_to_string() {
28        test_string_serialization(ItemInput::MoveSlot, "MoveSlot");
29    }
30
31    #[test]
32    fn deserializes_lowercase() {
33        test_string_deserialization("moveslot", ItemInput::MoveSlot);
34    }
35}