You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by mg...@apache.org on 2022/10/20 09:03:52 UTC

[avro] 02/02: AVRO-3646: Simplify the serialization tests

This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch avro-3646-serde-for-enum-mixed-variants
in repository https://gitbox.apache.org/repos/asf/avro.git

commit 8bcf5c4f68de02857eed3d2dcbb936bd32a8a1ba
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
AuthorDate: Thu Oct 20 12:03:23 2022 +0300

    AVRO-3646: Simplify the serialization tests
    
    Signed-off-by: Martin Tzvetanov Grigorov <mg...@apache.org>
---
 lang/rust/avro/src/ser.rs | 104 +++++++++++++++++-----------------------------
 1 file changed, 39 insertions(+), 65 deletions(-)

diff --git a/lang/rust/avro/src/ser.rs b/lang/rust/avro/src/ser.rs
index 7f3a551f1..e7b1da597 100644
--- a/lang/rust/avro/src/ser.rs
+++ b/lang/rust/avro/src/ser.rs
@@ -1002,83 +1002,57 @@ mod tests {
     #[test]
     fn avro_3646_test_to_value_enum() {
         #[derive(Debug, Deserialize, Serialize, PartialEq, Eq)]
-        struct TestNullExternalEnum2 {
-            a: NullExternalEnum2,
+        struct TestNullExternalEnum {
+            a: NullExternalEnum,
         }
 
         #[derive(Debug, Deserialize, Serialize, PartialEq, Eq)]
-        enum NullExternalEnum2 {
+        enum NullExternalEnum {
             Val1,
             Val2(),
             Val3(()),
             Val4(u64),
         }
 
-        let test_val1 = TestNullExternalEnum2 {
-            a: NullExternalEnum2::Val1,
-        };
-
-        let expected_val1 =
-            Value::Record(vec![("a".to_owned(), Value::Enum(0, "Val1".to_owned()))]);
-
-        let actual_val1 = to_value(test_val1).unwrap();
-        assert_eq!(
-            actual_val1, expected_val1,
-            "error serializing null external enum, val1"
-        );
-
-        let test_val2 = TestNullExternalEnum2 {
-            a: NullExternalEnum2::Val2(),
-        };
-
-        let expected_val2 = Value::Record(vec![(
-            "a".to_owned(),
-            Value::Record(vec![
-                ("type".to_owned(), Value::Enum(1, "Val2".to_owned())),
-                ("value".to_owned(), Value::Array(vec![])),
-            ]),
-        )]);
-
-        let actual_val2 = to_value(test_val2).unwrap();
-        assert_eq!(
-            actual_val2, expected_val2,
-            "error serializing null external enum, val2"
-        );
-
-        let test_val3 = TestNullExternalEnum2 {
-            a: NullExternalEnum2::Val3(()),
-        };
-
-        let expected_val3 = Value::Record(vec![(
-            "a".to_owned(),
-            Value::Record(vec![
-                ("type".to_owned(), Value::Enum(2, "Val3".to_owned())),
-                ("value".to_owned(), Value::Union(2, Value::Null.into())),
-            ]),
-        )]);
+        let data = vec![
+            (TestNullExternalEnum {
+                a: NullExternalEnum::Val1,
+            }, Value::Record(vec![("a".to_owned(), Value::Enum(0, "Val1".to_owned()))])),
 
-        let actual_val3 = to_value(test_val3).unwrap();
-        assert_eq!(
-            actual_val3, expected_val3,
-            "error serializing null external enum, val3"
-        );
+            (TestNullExternalEnum {
+                a: NullExternalEnum::Val2(),
+            }, Value::Record(vec![(
+                "a".to_owned(),
+                Value::Record(vec![
+                    ("type".to_owned(), Value::Enum(1, "Val2".to_owned())),
+                    ("value".to_owned(), Value::Array(vec![])),
+                ]),
+            )])),
 
-        let test_val4 = TestNullExternalEnum2 {
-            a: NullExternalEnum2::Val4(123),
-        };
+            (TestNullExternalEnum {
+                a: NullExternalEnum::Val3(()),
+            }, Value::Record(vec![(
+                "a".to_owned(),
+                Value::Record(vec![
+                    ("type".to_owned(), Value::Enum(2, "Val3".to_owned())),
+                    ("value".to_owned(), Value::Union(2, Value::Null.into())),
+                ]),
+            )])),
 
-        let expected_val4 = Value::Record(vec![(
-            "a".to_owned(),
-            Value::Record(vec![
-                ("type".to_owned(), Value::Enum(3, "Val4".to_owned())),
-                ("value".to_owned(), Value::Union(3, Value::Long(123).into())),
-            ]),
-        )]);
+            (TestNullExternalEnum {
+                a: NullExternalEnum::Val4(123),
+            }, Value::Record(vec![(
+                "a".to_owned(),
+                Value::Record(vec![
+                    ("type".to_owned(), Value::Enum(3, "Val4".to_owned())),
+                    ("value".to_owned(), Value::Union(3, Value::Long(123).into())),
+                ]),
+            )]))
+        ];
 
-        let actual_val4 = to_value(test_val4).unwrap();
-        assert_eq!(
-            actual_val4, expected_val4,
-            "error serializing null external enum, val4"
-        );
+        for (test, expected) in &data {
+            let actual = to_value(test).unwrap();
+            assert_eq!(actual, *expected,);
+        }
     }
 }