rdblue commented on code in PR #17041:
URL: https://github.com/apache/iceberg/pull/17041#discussion_r3539465777


##########
core/src/test/java/org/apache/iceberg/TestTrackingStruct.java:
##########
@@ -24,61 +24,122 @@
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.List;
-import java.util.function.Consumer;
-import java.util.stream.Stream;
 import org.apache.iceberg.types.Types;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.EnumSource;
 import org.junit.jupiter.params.provider.MethodSource;
 
 class TestTrackingStruct {
-
-  // Ordinals looked up from Tracking.schema() so tests don't hard-code 
positions.
-  private static final List<Types.NestedField> TRACKING_FIELDS = 
Tracking.schema().fields();
-  private static final int STATUS_ORDINAL = 
TRACKING_FIELDS.indexOf(Tracking.STATUS);
-  private static final int SNAPSHOT_ID_ORDINAL = 
TRACKING_FIELDS.indexOf(Tracking.SNAPSHOT_ID);
-  private static final int DATA_SEQUENCE_NUMBER_ORDINAL =
-      TRACKING_FIELDS.indexOf(Tracking.SEQUENCE_NUMBER);
-  private static final int FILE_SEQUENCE_NUMBER_ORDINAL =
-      TRACKING_FIELDS.indexOf(Tracking.FILE_SEQUENCE_NUMBER);
-  private static final int DV_SNAPSHOT_ID_ORDINAL =
-      TRACKING_FIELDS.indexOf(Tracking.DV_SNAPSHOT_ID);
-  private static final int FIRST_ROW_ID_ORDINAL = 
TRACKING_FIELDS.indexOf(Tracking.FIRST_ROW_ID);
-  private static final int DELETED_POSITIONS_ORDINAL =
-      TRACKING_FIELDS.indexOf(Tracking.DELETED_POSITIONS);
-  private static final int REPLACED_POSITIONS_ORDINAL =
-      TRACKING_FIELDS.indexOf(Tracking.REPLACED_POSITIONS);
+  private static final byte[] DELETED_POSITIONS = new byte[] {1, 2};
+  private static final byte[] REPLACED_POSITIONS = new byte[] {3, 4};
 
   @Test
   void testFieldAccess() {
-    TrackingStruct tracking = new TrackingStruct(Tracking.schema());
+    TrackingStruct tracking =
+        new TrackingStruct(
+            EntryStatus.ADDED,
+            42L,
+            10L,
+            11L,
+            43L,
+            1000L,
+            DELETED_POSITIONS,
+            REPLACED_POSITIONS,
+            "manifest-location",
+            7L);
 
-    tracking.set(STATUS_ORDINAL, EntryStatus.ADDED.id());
-    tracking.set(SNAPSHOT_ID_ORDINAL, 42L);
-    tracking.set(DATA_SEQUENCE_NUMBER_ORDINAL, 10L);
-    tracking.set(FILE_SEQUENCE_NUMBER_ORDINAL, 11L);
-    tracking.set(DV_SNAPSHOT_ID_ORDINAL, 43L);
-    tracking.set(FIRST_ROW_ID_ORDINAL, 1000L);
+    assertThat(tracking.status()).isEqualTo(EntryStatus.ADDED);
+    assertThat(tracking.snapshotId()).isEqualTo(42L);
+    assertThat(tracking.dataSequenceNumber()).isEqualTo(10L);
+    assertThat(tracking.fileSequenceNumber()).isEqualTo(11L);
+    assertThat(tracking.dvSnapshotId()).isEqualTo(43L);
+    assertThat(tracking.firstRowId()).isEqualTo(1000L);
+    
assertThat(tracking.deletedPositions()).isEqualTo(ByteBuffer.wrap(DELETED_POSITIONS));
+    
assertThat(tracking.replacedPositions()).isEqualTo(ByteBuffer.wrap(REPLACED_POSITIONS));
+    assertThat(tracking.manifestLocation()).isEqualTo("manifest-location");
+    assertThat(tracking.manifestPos()).isEqualTo(7L);
+  }
+
+  @Test
+  void testSetByPosition() {
+    TrackingStruct tracking = new TrackingStruct();
+
+    tracking.set(ordinalByFieldName("status"), EntryStatus.ADDED.id());

Review Comment:
   @amogh-jahagirdar's PR used `pos` for this. This is okay, but I'd prefer 
consistent naming.



-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to