From 8de175cdcb6798875f80f910e1be4a8179abd62e Mon Sep 17 00:00:00 2001 From: David Noble Date: Sat, 21 Sep 2019 19:24:03 -0700 Subject: [PATCH] RowReaderTest against RootSegment.json/RootSegment.hybridrow succeeds --- .../hybridrow/io/RowReaderTest.java | 14 +++++++++----- layout.xlsx | Bin 24790 -> 27664 bytes 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/io/RowReaderTest.java b/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/io/RowReaderTest.java index adc7c7f..1b1ad2d 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/io/RowReaderTest.java +++ b/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/io/RowReaderTest.java @@ -66,15 +66,19 @@ public class RowReaderTest { fail(lenientFormat("failed to open %s due to %s", this.dataFile, error)); } - LayoutResolver resolver = new LayoutResolverNamespace(this.namespace); - RowBuffer buffer = new RowBuffer(data, HybridRowVersion.V1, resolver); - RowReader reader = new RowReader(buffer); + final LayoutResolver resolver = new LayoutResolverNamespace(this.namespace); + final RowBuffer buffer = new RowBuffer(data, HybridRowVersion.V1, resolver); + final RowReader reader = new RowReader(buffer); + + final Result result; try { - visitFields(reader, 0); + result = visitFields(reader, 0); } catch (IllegalStateException error) { - fail(lenientFormat("row reader on %s failed due to %s", this.dataFile, error)); + throw new AssertionError(lenientFormat("row reader on %s failed due to %s", this.dataFile, error)); } + + assertEquals(result, Result.SUCCESS); } private static Result visitFields(RowReader reader, int level) { diff --git a/layout.xlsx b/layout.xlsx index 67d1a45e728032798295755194b43f4b93299e45..b340aad7a24860819c505ff69370f6d70222295c 100644 GIT binary patch delta 20382 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