[
https://issues.apache.org/jira/browse/AVRO-3424?focusedWorklogId=738856&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-738856
]
ASF GitHub Bot logged work on AVRO-3424:
----------------------------------------
Author: ASF GitHub Bot
Created on: 09/Mar/22 15:42
Start Date: 09/Mar/22 15:42
Worklog Time Spent: 10m
Work Description: zcsizmadia commented on a change in pull request #1571:
URL: https://github.com/apache/avro/pull/1571#discussion_r822792182
##########
File path: lang/csharp/src/apache/test/Schema/SchemaTests.cs
##########
@@ -439,5 +439,57 @@ public void TestUnionSchemaWithoutTypeProperty(string
schemaJson, string expecte
var schema = Schema.Parse(schemaJson);
Assert.AreEqual(schema.ToString(), expectedSchemaJson);
}
+
+ [TestFixture]
+ public class SchemaTypeExtensionsTests
+ {
+ [TestCase("null", Schema.Type.Null)]
+ [TestCase("boolean", Schema.Type.Boolean)]
+ [TestCase("int", Schema.Type.Int)]
+ [TestCase("long", Schema.Type.Long)]
+ [TestCase("float", Schema.Type.Float)]
+ [TestCase("double", Schema.Type.Double)]
+ [TestCase("bytes", Schema.Type.Bytes)]
+ [TestCase("string", Schema.Type.String)]
+ [TestCase("record", Schema.Type.Record)]
+ [TestCase("enumeration", Schema.Type.Enumeration)]
+ [TestCase("array", Schema.Type.Array)]
+ [TestCase("map", Schema.Type.Map)]
+ [TestCase("union", Schema.Type.Union)]
+ [TestCase("fixed", Schema.Type.Fixed)]
+ [TestCase("error", Schema.Type.Error)]
+ [TestCase("logical", Schema.Type.Logical)]
+ [TestCase("Logical", null)]
+ [TestCase("InvalidValue", null)]
+ [TestCase("\"null\"", null)]
+ [TestCase("", null)]
+ [TestCase(null, null)]
+ public void ParseTypeTest(string value, object expectedResult)
Review comment:
The same as below
##########
File path: lang/csharp/src/apache/test/Schema/SchemaTests.cs
##########
@@ -439,5 +439,57 @@ public void TestUnionSchemaWithoutTypeProperty(string
schemaJson, string expecte
var schema = Schema.Parse(schemaJson);
Assert.AreEqual(schema.ToString(), expectedSchemaJson);
}
+
+ [TestFixture]
+ public class SchemaTypeExtensionsTests
+ {
+ [TestCase("null", Schema.Type.Null)]
+ [TestCase("boolean", Schema.Type.Boolean)]
+ [TestCase("int", Schema.Type.Int)]
+ [TestCase("long", Schema.Type.Long)]
+ [TestCase("float", Schema.Type.Float)]
+ [TestCase("double", Schema.Type.Double)]
+ [TestCase("bytes", Schema.Type.Bytes)]
+ [TestCase("string", Schema.Type.String)]
+ [TestCase("record", Schema.Type.Record)]
+ [TestCase("enumeration", Schema.Type.Enumeration)]
+ [TestCase("array", Schema.Type.Array)]
+ [TestCase("map", Schema.Type.Map)]
+ [TestCase("union", Schema.Type.Union)]
+ [TestCase("fixed", Schema.Type.Fixed)]
+ [TestCase("error", Schema.Type.Error)]
+ [TestCase("logical", Schema.Type.Logical)]
+ [TestCase("Logical", null)]
+ [TestCase("InvalidValue", null)]
+ [TestCase("\"null\"", null)]
+ [TestCase("", null)]
+ [TestCase(null, null)]
+ public void ParseTypeTest(string value, object expectedResult)
+ {
+ if (expectedResult is Schema.Type expectedType)
+ {
+ Assert.AreEqual(Schema.ParseType(value), expectedType);
+ }
+ else
+ {
+ Assert.AreEqual(Schema.ParseType(value), expectedResult);
+ }
+ }
+
+ [TestCase("\"null\"", Schema.Type.Null)]
+ [TestCase("\"nu\"ll\"", null)]
+ [TestCase("\"\"", null)]
+ public void ParseTypeRemoveQuotesTest(string value, object
expectedResult)
Review comment:
In this case keeping previous patterns dont really matter. The test code
iotself seems to me over complicated. I really do prefer to use good patterns
where it can live side by side with existing code patterns
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 738856)
Time Spent: 3h 20m (was: 3h 10m)
> C# Add support to parse string into Schema.Type
> -----------------------------------------------
>
> Key: AVRO-3424
> URL: https://issues.apache.org/jira/browse/AVRO-3424
> Project: Apache Avro
> Issue Type: Improvement
> Components: csharp
> Reporter: Kyle Schoonover
> Priority: Minor
> Labels: pull-request-available
> Time Spent: 3h 20m
> Remaining Estimate: 0h
>
> Right now this just revolves around the PrimitiveSchema NewInstance method,
> but this would create a feature for parsing a string into a Schema.Type enum.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)