anekdoti commented on a change in pull request #1622:
URL: https://github.com/apache/avro/pull/1622#discussion_r835346485
##########
File path: lang/csharp/src/apache/test/Generic/GenericTests.cs
##########
@@ -17,28 +17,64 @@
*/
using System;
using System.IO;
-using System.Linq;
using Avro.IO;
using System.Collections.Generic;
+using System.Text;
using Avro.Generic;
using NUnit.Framework;
+using Decoder = Avro.IO.Decoder;
+using Encoder = Avro.IO.Encoder;
namespace Avro.Test.Generic
{
class GenericTests
{
- private static void test<T>(string s, T value)
+ private static string intToUtf8(int value)
{
- Stream ms;
- Schema ws;
- serialize(s, value, out ms, out ws);
- Schema rs = Schema.Parse(s);
- T output = deserialize<T>(ms, ws, rs);
- Assert.AreEqual(value, output);
+ var decimalLogicalType = new Avro.Util.Decimal();
+ var logicalSchema = (LogicalSchema)
+ Schema.Parse(@"{ ""type"": ""bytes"", ""logicalType"":
""decimal"", ""precision"": 4 }");
+
+ byte[] byteArray =
(byte[])decimalLogicalType.ConvertToBaseValue(new AvroDecimal(value),
logicalSchema);
Review comment:
I agree with this - I think `LogicalTypeTests.cs` is the place where for
example the proper encoding of decimals as byte sequences should be verified
and in particular that it does not change. Currently, it seems that only a
proper round trip decimal -> bytes -> decimal is checked and maybe it would
make sense to add a test that verifies a specific encoding to ensure
compatibility in the future - but I think as well that this is a different
topic and PR.
--
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]