Group field_identifier and variant_identifier tests in sub-modules

(review this commit with "ignore whitespace changes" option on)
This commit is contained in:
Mingun 2023-05-19 20:46:35 +05:00
parent bb51e68f16
commit 967023b755

View File

@ -5,8 +5,9 @@
use serde_derive::Deserialize; use serde_derive::Deserialize;
use serde_test::{assert_de_tokens, Token}; use serde_test::{assert_de_tokens, Token};
#[test] mod variant_identifier {
fn test_variant_identifier() { use super::*;
#[derive(Deserialize, Debug, PartialEq)] #[derive(Deserialize, Debug, PartialEq)]
#[serde(variant_identifier)] #[serde(variant_identifier)]
enum V { enum V {
@ -14,16 +15,20 @@ fn test_variant_identifier() {
Bbb, Bbb,
} }
assert_de_tokens(&V::Aaa, &[Token::U8(0)]); #[test]
assert_de_tokens(&V::Aaa, &[Token::U16(0)]); fn variant1() {
assert_de_tokens(&V::Aaa, &[Token::U32(0)]); assert_de_tokens(&V::Aaa, &[Token::U8(0)]);
assert_de_tokens(&V::Aaa, &[Token::U64(0)]); assert_de_tokens(&V::Aaa, &[Token::U16(0)]);
assert_de_tokens(&V::Aaa, &[Token::Str("Aaa")]); assert_de_tokens(&V::Aaa, &[Token::U32(0)]);
assert_de_tokens(&V::Aaa, &[Token::Bytes(b"Aaa")]); assert_de_tokens(&V::Aaa, &[Token::U64(0)]);
assert_de_tokens(&V::Aaa, &[Token::Str("Aaa")]);
assert_de_tokens(&V::Aaa, &[Token::Bytes(b"Aaa")]);
}
} }
#[test] mod field_identifier {
fn test_field_identifier() { use super::*;
#[derive(Deserialize, Debug, PartialEq)] #[derive(Deserialize, Debug, PartialEq)]
#[serde(field_identifier, rename_all = "snake_case")] #[serde(field_identifier, rename_all = "snake_case")]
enum F { enum F {
@ -31,58 +36,61 @@ fn test_field_identifier() {
Bbb, Bbb,
} }
assert_de_tokens(&F::Aaa, &[Token::U8(0)]); #[test]
assert_de_tokens(&F::Aaa, &[Token::U16(0)]); fn field1() {
assert_de_tokens(&F::Aaa, &[Token::U32(0)]); assert_de_tokens(&F::Aaa, &[Token::U8(0)]);
assert_de_tokens(&F::Aaa, &[Token::U64(0)]); assert_de_tokens(&F::Aaa, &[Token::U16(0)]);
assert_de_tokens(&F::Aaa, &[Token::Str("aaa")]); assert_de_tokens(&F::Aaa, &[Token::U32(0)]);
assert_de_tokens(&F::Aaa, &[Token::Bytes(b"aaa")]); assert_de_tokens(&F::Aaa, &[Token::U64(0)]);
} assert_de_tokens(&F::Aaa, &[Token::Str("aaa")]);
assert_de_tokens(&F::Aaa, &[Token::Bytes(b"aaa")]);
#[test]
fn test_unit_fallthrough() {
#[derive(Deserialize, Debug, PartialEq)]
#[serde(field_identifier, rename_all = "snake_case")]
enum F {
Aaa,
Bbb,
#[serde(other)]
Other,
} }
assert_de_tokens(&F::Other, &[Token::U8(42)]); #[test]
assert_de_tokens(&F::Other, &[Token::U16(42)]); fn unit_fallthrough() {
assert_de_tokens(&F::Other, &[Token::U32(42)]); #[derive(Deserialize, Debug, PartialEq)]
assert_de_tokens(&F::Other, &[Token::U64(42)]); #[serde(field_identifier, rename_all = "snake_case")]
assert_de_tokens(&F::Other, &[Token::Str("x")]); enum F {
} Aaa,
Bbb,
#[serde(other)]
Other,
}
#[test] assert_de_tokens(&F::Other, &[Token::U8(42)]);
fn test_newtype_fallthrough() { assert_de_tokens(&F::Other, &[Token::U16(42)]);
#[derive(Deserialize, Debug, PartialEq)] assert_de_tokens(&F::Other, &[Token::U32(42)]);
#[serde(field_identifier, rename_all = "snake_case")] assert_de_tokens(&F::Other, &[Token::U64(42)]);
enum F { assert_de_tokens(&F::Other, &[Token::Str("x")]);
Aaa,
Bbb,
Other(String),
} }
assert_de_tokens(&F::Other("x".to_owned()), &[Token::Str("x")]); #[test]
} fn newtype_fallthrough() {
#[derive(Deserialize, Debug, PartialEq)]
#[serde(field_identifier, rename_all = "snake_case")]
enum F {
Aaa,
Bbb,
Other(String),
}
#[test] assert_de_tokens(&F::Other("x".to_owned()), &[Token::Str("x")]);
fn test_newtype_fallthrough_generic() {
#[derive(Deserialize, Debug, PartialEq)]
#[serde(field_identifier, rename_all = "snake_case")]
enum F<T> {
Aaa,
Bbb,
Other(T),
} }
assert_de_tokens(&F::Other(42u8), &[Token::U8(42)]); #[test]
assert_de_tokens(&F::Other(42u16), &[Token::U16(42)]); fn newtype_fallthrough_generic() {
assert_de_tokens(&F::Other(42u32), &[Token::U32(42)]); #[derive(Deserialize, Debug, PartialEq)]
assert_de_tokens(&F::Other(42u64), &[Token::U64(42)]); #[serde(field_identifier, rename_all = "snake_case")]
assert_de_tokens(&F::Other("x".to_owned()), &[Token::Str("x")]); enum F<T> {
Aaa,
Bbb,
Other(T),
}
assert_de_tokens(&F::Other(42u8), &[Token::U8(42)]);
assert_de_tokens(&F::Other(42u16), &[Token::U16(42)]);
assert_de_tokens(&F::Other(42u32), &[Token::U32(42)]);
assert_de_tokens(&F::Other(42u64), &[Token::U64(42)]);
assert_de_tokens(&F::Other("x".to_owned()), &[Token::Str("x")]);
}
} }