26 lines
625 B
Rust
26 lines
625 B
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
#[test]
|
|
fn test() {
|
|
for (ty, str) in [
|
|
(TileType::Rock, r#""ROCK""#),
|
|
(TileType::Grass, r#""GRASS""#),
|
|
(TileType::Force, r#""FORCE""#),
|
|
(TileType::MedicCenter, r#""MEDIC_CENTER""#),
|
|
(TileType::Lava, r#""LAVA""#),
|
|
] {
|
|
assert_eq!(serde_json::to_string(&ty).unwrap(), str);
|
|
assert_eq!(serde_json::from_str::<TileType>(str).unwrap(), ty);
|
|
}
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
|
|
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
|
|
enum TileType {
|
|
Rock,
|
|
Grass,
|
|
Force,
|
|
MedicCenter,
|
|
Lava,
|
|
}
|