From 0362b333bf24a6da9cd3eb09aa12f0d8deb676eb Mon Sep 17 00:00:00 2001 From: Gunnar Morling Date: Mon, 23 Jul 2018 17:43:28 +0200 Subject: [PATCH] DBZ-804 Better schema comparison in tests; preparing byte conversion --- .../java/io/debezium/util/NumberConversions.java | 13 +++++++++++++ .../java/io/debezium/data/SchemaAndValueField.java | 7 ++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/debezium-core/src/main/java/io/debezium/util/NumberConversions.java b/debezium-core/src/main/java/io/debezium/util/NumberConversions.java index a208e31b8..dde1e4506 100644 --- a/debezium-core/src/main/java/io/debezium/util/NumberConversions.java +++ b/debezium-core/src/main/java/io/debezium/util/NumberConversions.java @@ -14,6 +14,9 @@ */ public class NumberConversions { + public static final Byte BYTE_TRUE = Byte.valueOf((byte) 1); + public static final Byte BYTE_FALSE = Byte.valueOf((byte) 0); + public static final Short SHORT_TRUE = Short.valueOf((short) 1); public static final Short SHORT_FALSE = Short.valueOf((short) 0); @@ -42,6 +45,16 @@ public static BigDecimal getBigDecimal(Boolean data) { return data.booleanValue() ? BigDecimal.ONE : BigDecimal.ZERO; } + /** + * Convert boolean object to short object. + * + * @param data A boolean object + * @return Byte 0 or 1 + */ + public static Byte getByte(boolean data) { + return data ? BYTE_TRUE : BYTE_FALSE; + } + /** * Convert boolean object to short object. * diff --git a/debezium-core/src/test/java/io/debezium/data/SchemaAndValueField.java b/debezium-core/src/test/java/io/debezium/data/SchemaAndValueField.java index e002cd0f9..81cfeb673 100644 --- a/debezium-core/src/test/java/io/debezium/data/SchemaAndValueField.java +++ b/debezium-core/src/test/java/io/debezium/data/SchemaAndValueField.java @@ -14,12 +14,12 @@ import org.fest.assertions.Assertions; public class SchemaAndValueField { - private final Object schema; + private final Schema schema; private final Object value; private final String fieldName; private Supplier assertValueOnlyIf = null; - public SchemaAndValueField(String fieldName, Object schema, Object value) { + public SchemaAndValueField(String fieldName, Schema schema, Object value) { this.schema = schema; this.value = value; this.fieldName = fieldName; @@ -105,6 +105,7 @@ private void assertSchema(Struct content) { Schema schema = content.schema(); Field field = schema.field(fieldName); Assertions.assertThat(field).as(fieldName + " not found in schema " + schema).isNotNull(); - Assertions.assertThat(field.schema()).as("Schema for " + field.name() + " does not match the actual value").isEqualTo(this.schema); + + VerifyRecord.assertConnectSchemasAreEqual(field.name(), field.schema(), this.schema); } }