[
https://issues.apache.org/jira/browse/AVRO-1427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rob Turner updated AVRO-1427:
-----------------------------
Attachment: AVRO-1427.patch
I also changed the deprecated Schema.parse to new Schema.Parser.parse().
Please review this patch as a solution to this issue.
> Minor issues with Resolving Decoder Tests
> ------------------------------------------
>
> Key: AVRO-1427
> URL: https://issues.apache.org/jira/browse/AVRO-1427
> Project: Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.7.5
> Reporter: Rob Turner
> Assignee: Rob Turner
> Priority: Minor
> Labels: test
> Attachments: AVRO-1427.patch
>
>
> Hard coded TestValidatingIO.Encoding.BINARY is used rather than "this.eEnc"
> passed in via the @Parameterized test, preventing the other Encodings being
> tested.
> {code:title=TestResolvingIOResolving.java|borderStyle=solid}
> @Test
> public void testResolving()
> throws IOException {
> Schema writerSchema = new Schema.Parser().parse(sJsWrtSchm);
> byte[] bytes = TestValidatingIO.make(writerSchema, sWrtCls,
> oaWrtVals, TestValidatingIO.Encoding.BINARY);
> // Needs changing to
> @Test
> public void testResolving()
> throws IOException {
> Schema writerSchema = new Schema.Parser().parse(sJsWrtSchm);
> byte[] bytes = TestValidatingIO.make(writerSchema, sWrtCls,
> oaWrtVals, eEnc);
> {code}
> Number types are not checked for exact matches in TestResolvingIO.check() so
> that an expected type of Integer 100 matches Long 100 at line 178 as follows:
> {code:title=TestResolvingIOResolving.java|borderStyle=solid}
> { "[ \"int\", \"string\"]", "U0I", new Object[] { 100 },
> "\"long\"", "L", new Object[] { 100 } },
> // Needs changing to
> { "[ \"int\", \"string\"]", "U0I", new Object[] { 100 },
> "\"long\"", "L", new Object[] { 100L } },
> {code}
> The above fix to TestResolvingIO.check() makes TestResolvingIO fail, so the
> expected values need to be generated with the correct type and not just reuse
> the random input values. This can be done by making the random generation
> deterministic so that correctly typed expected values may be generated.
> {code:title=TestValidatingIO.java|borderStyle=solid}
> public static Object[] randomValues(String calls) {
> Random r = new Random();
> // Needs changing to
> public static Object[] randomValues(String calls) {
> Random r = new Random(0L);
> {code}
> Patch to follow.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)