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/11/04 08:22:29 UTC

[avro] branch branch-1.11 updated: AVRO-3532: Test field names in C# (#1866)

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

mgrigorov pushed a commit to branch branch-1.11
in repository https://gitbox.apache.org/repos/asf/avro.git


The following commit(s) were added to refs/heads/branch-1.11 by this push:
     new a175a61ab AVRO-3532: Test field names in C# (#1866)
a175a61ab is described below

commit a175a61abb8c2b2ce4559837fca17a53aeadebaa
Author: clesaec <51...@users.noreply.github.com>
AuthorDate: Fri Nov 4 09:21:50 2022 +0100

    AVRO-3532: Test field names in C# (#1866)
    
    (cherry picked from commit 965e0a2df8c94657e333ca166515e2dba70ca400)
---
 .../src/apache/test/Generic/GenericRecordTests.cs     | 18 ++++++++++++++++++
 lang/csharp/src/apache/test/Schema/SchemaTests.cs     | 19 +++++++++++++++++++
 2 files changed, 37 insertions(+)

diff --git a/lang/csharp/src/apache/test/Generic/GenericRecordTests.cs b/lang/csharp/src/apache/test/Generic/GenericRecordTests.cs
index 242ed60a1..9ae0e6f7e 100644
--- a/lang/csharp/src/apache/test/Generic/GenericRecordTests.cs
+++ b/lang/csharp/src/apache/test/Generic/GenericRecordTests.cs
@@ -157,6 +157,24 @@ namespace Avro.test.Generic
             Assert.AreEqual(expectedValue, str);
         }
 
+
+        [Test]
+        public void TestFieldNames()
+        {
+            string schemaWithNames = "{\"type\":\"record\",\"name\":\"r\",\"fields\":" +
+            "[{\"name\":\"歳以上\",\"type\":\"int\"}]}";
+
+            RecordSchema testSchema = Schema.Parse(schemaWithNames) as RecordSchema;
+            GenericRecord genericRecord = new GenericRecord(testSchema);
+            genericRecord.Add("歳以上", 1);
+
+            string str = genericRecord.ToString();
+            string expectedValue = "Schema: {\"type\":\"record\",\"name\":\"r\",\"fields\":" +
+                            "[{\"name\":\"歳以上\",\"type\":\"int\"}]}, contents: { 歳以上: 1, }";
+
+            Assert.AreEqual(expectedValue, str);
+        }
+
         [Test]
         public void TestTryGetValue()
         {
diff --git a/lang/csharp/src/apache/test/Schema/SchemaTests.cs b/lang/csharp/src/apache/test/Schema/SchemaTests.cs
index 021dde627..319e9a95b 100644
--- a/lang/csharp/src/apache/test/Schema/SchemaTests.cs
+++ b/lang/csharp/src/apache/test/Schema/SchemaTests.cs
@@ -360,6 +360,25 @@ namespace Avro.Test
                 }));
         }
 
+        [TestCase]
+        public void TestRecordFieldNames() {
+            var fields = new List<Field>
+                {
+                    new Field(PrimitiveSchema.Create(Schema.Type.Long),
+                        "歳以上",
+                        null,
+                        0,
+                        null,
+                        null,
+                        Field.SortOrder.ignore,
+                        null)
+                };
+            var recordSchema = RecordSchema.Create("LongList", fields, null, new[] { "LinkedLongs" });
+
+            Field f = recordSchema.Fields[0];
+            Assert.AreEqual("歳以上", f.Name);
+        }
+
         [TestCase]
         public void TestRecordCreationWithRecursiveRecord()
         {