Skip to content

Commit 9200d51

Browse files
committed
update tests with unmapped values
1 parent f24f22d commit 9200d51

File tree

2 files changed

+39
-44
lines changed

2 files changed

+39
-44
lines changed

fluss-client/src/main/java/org/apache/fluss/client/utils/ConverterUtils.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@
5555
* Helper class for converting Java objects to Fluss's {@link InternalRow} format and vice versa.
5656
*
5757
* <p>This utility uses reflection to map fields from POJOs to InternalRow and back based on a given
58-
* schema. This implementation does not cache converters; getConverter creates a new instance each time.
59-
* types.
58+
* schema. This implementation does not cache converters; getConverter creates a new instance each
59+
* time. types.
6060
*
6161
* <p>Example usage:
6262
*
@@ -79,7 +79,6 @@
7979
public class ConverterUtils<T> {
8080
private static final Logger LOG = LoggerFactory.getLogger(ConverterUtils.class);
8181

82-
8382
/** Map of supported Java types for each DataTypeRoot. */
8483
private static final Map<DataTypeRoot, Set<Class<?>>> SUPPORTED_TYPES = new HashMap<>();
8584

@@ -486,8 +485,7 @@ public GenericRow toRow(T pojo) {
486485
throw new IllegalStateException(
487486
String.format(
488487
"Failed to access field %s in POJO class %s.",
489-
rowType.getFieldNames().get(i),
490-
pojoClass.getName()),
488+
rowType.getFieldNames().get(i), pojoClass.getName()),
491489
e);
492490
}
493491
row.setField(i, value);
@@ -521,8 +519,7 @@ public T fromRow(InternalRow row) {
521519
throw new IllegalStateException(
522520
String.format(
523521
"Failed to set field %s in POJO class %s.",
524-
rowType.getFieldNames().get(i),
525-
pojoClass.getName()),
522+
rowType.getFieldNames().get(i), pojoClass.getName()),
526523
e);
527524
}
528525
}
@@ -574,5 +571,4 @@ private static LinkedHashSet<Class<?>> orderedSet(Class<?>... javaTypes) {
574571
linkedHashSet.addAll(Arrays.asList(javaTypes));
575572
return linkedHashSet;
576573
}
577-
578574
}

fluss-client/src/test/java/org/apache/fluss/client/utils/ConverterUtilsTest.java

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.apache.fluss.row.InternalRow;
3131
import org.apache.fluss.types.DataTypes;
3232
import org.apache.fluss.types.RowType;
33+
3334
import org.junit.jupiter.api.Test;
3435

3536
import java.math.BigDecimal;
@@ -113,8 +114,6 @@ public void testFromRow() {
113114
GenericRow row = converter.toRow(originalPojo);
114115

115116
TestPojo convertedPojo = converter.fromRow(row);
116-
117-
118117
// Verify the POJO
119118
assertThat(convertedPojo).isNotNull();
120119
assertThat(convertedPojo).isEqualTo(originalPojo);
@@ -135,13 +134,13 @@ public void testNullValues() {
135134

136135
// Verify the POJO
137136
assertThat(pojo).isNotNull();
138-
assertThat(pojo.booleanField).isEqualTo(false); // Default value for boolean is false
139-
assertThat(pojo.byteField).isEqualTo((byte) 0); // Default value for byte is 0
140-
assertThat(pojo.shortField).isEqualTo((short) 0); // Default value for short is 0
141-
assertThat(pojo.intField).isEqualTo(0); // Default value for int is 0
142-
assertThat(pojo.longField).isEqualTo(0L); // Default value for long is 0
143-
assertThat(pojo.floatField).isEqualTo(0.0f); // Default value for float is 0.0
144-
assertThat(pojo.doubleField).isEqualTo(0.0); // Default value for double is 0.0
137+
assertThat(pojo.booleanField).isNull();
138+
assertThat(pojo.byteField).isNull();
139+
assertThat(pojo.shortField).isNull();
140+
assertThat(pojo.intField).isNull();
141+
assertThat(pojo.longField).isNull();
142+
assertThat(pojo.floatField).isNull();
143+
assertThat(pojo.doubleField).isNull();
145144
assertThat(pojo.stringField).isNull();
146145
assertThat(pojo.bytesField).isNull();
147146
assertThat(pojo.decimalField).isNull();
@@ -209,12 +208,12 @@ public void testRowWithMissingFields() {
209208
assertThat(convertedPojo.booleanField).isEqualTo(true);
210209
assertThat(convertedPojo.intField).isEqualTo(123456);
211210
assertThat(convertedPojo.stringField).isEqualTo("Hello, World!");
212-
// Other fields have default values
213-
assertThat(convertedPojo.byteField).isEqualTo((byte) 0);
214-
assertThat(convertedPojo.shortField).isEqualTo((short) 0);
215-
assertThat(convertedPojo.longField).isEqualTo(0L);
216-
assertThat(convertedPojo.floatField).isEqualTo(0.0f);
217-
assertThat(convertedPojo.doubleField).isEqualTo(0.0);
211+
// Other fields are null
212+
assertThat(convertedPojo.byteField).isNull();
213+
assertThat(convertedPojo.shortField).isNull();
214+
assertThat(convertedPojo.longField).isNull();
215+
assertThat(convertedPojo.floatField).isNull();
216+
assertThat(convertedPojo.doubleField).isNull();
218217
assertThat(convertedPojo.bytesField).isNull();
219218
assertThat(convertedPojo.decimalField).isNull();
220219
assertThat(convertedPojo.dateField).isNull();
@@ -328,13 +327,13 @@ public void testWriteAndReadPojos() throws Exception {
328327

329328
/** Test POJO class with various field types. */
330329
public static class TestPojo {
331-
private boolean booleanField;
332-
private byte byteField;
333-
private short shortField;
334-
private int intField;
335-
private long longField;
336-
private float floatField;
337-
private double doubleField;
330+
private Boolean booleanField;
331+
private Byte byteField;
332+
private Short shortField;
333+
private Integer intField;
334+
private Long longField;
335+
private Float floatField;
336+
private Double doubleField;
338337
private String stringField;
339338
private byte[] bytesField;
340339
private BigDecimal decimalField;
@@ -347,13 +346,13 @@ public static class TestPojo {
347346
public TestPojo() {}
348347

349348
public TestPojo(
350-
boolean booleanField,
351-
byte byteField,
352-
short shortField,
353-
int intField,
354-
long longField,
355-
float floatField,
356-
double doubleField,
349+
Boolean booleanField,
350+
Byte byteField,
351+
Short shortField,
352+
Integer intField,
353+
Long longField,
354+
Float floatField,
355+
Double doubleField,
357356
String stringField,
358357
byte[] bytesField,
359358
BigDecimal decimalField,
@@ -388,13 +387,13 @@ public boolean equals(Object o) {
388387
return false;
389388
}
390389
TestPojo testPojo = (TestPojo) o;
391-
return booleanField == testPojo.booleanField
392-
&& byteField == testPojo.byteField
393-
&& shortField == testPojo.shortField
394-
&& intField == testPojo.intField
395-
&& longField == testPojo.longField
396-
&& Float.compare(testPojo.floatField, floatField) == 0
397-
&& Double.compare(testPojo.doubleField, doubleField) == 0
390+
return Objects.equals(booleanField, testPojo.booleanField)
391+
&& Objects.equals(byteField, testPojo.byteField)
392+
&& Objects.equals(shortField, testPojo.shortField)
393+
&& Objects.equals(intField, testPojo.intField)
394+
&& Objects.equals(longField, testPojo.longField)
395+
&& Objects.equals(floatField, testPojo.floatField)
396+
&& Objects.equals(doubleField, testPojo.doubleField)
398397
&& Objects.equals(stringField, testPojo.stringField)
399398
&& Arrays.equals(bytesField, testPojo.bytesField)
400399
&& Objects.equals(decimalField, testPojo.decimalField)

0 commit comments

Comments
 (0)