From d406295f8d3a0927cefdae103bc961f5593da39f Mon Sep 17 00:00:00 2001 From: Roberto Franchini Date: Wed, 23 Oct 2024 18:16:53 +0200 Subject: [PATCH] remove junit assertions --- .../java/com/arcadedb/TypeConversionTest.java | 128 +++++++++++------- .../com/arcadedb/server/RemoteQueriesIT.java | 24 ++-- 2 files changed, 91 insertions(+), 61 deletions(-) diff --git a/engine/src/test/java/com/arcadedb/TypeConversionTest.java b/engine/src/test/java/com/arcadedb/TypeConversionTest.java index 50c53a965..d5aeed0e2 100644 --- a/engine/src/test/java/com/arcadedb/TypeConversionTest.java +++ b/engine/src/test/java/com/arcadedb/TypeConversionTest.java @@ -26,20 +26,24 @@ import com.arcadedb.schema.Type; import com.arcadedb.utility.DateUtils; import com.arcadedb.utility.NanoClock; - import org.junit.jupiter.api.Test; -import java.math.*; -import java.text.*; -import java.time.*; -import java.time.chrono.*; -import java.time.temporal.*; -import java.util.*; -import java.util.concurrent.*; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.time.Duration; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; +import java.time.chrono.ChronoZonedDateTime; +import java.time.temporal.ChronoField; +import java.time.temporal.ChronoUnit; +import java.util.Calendar; +import java.util.Date; +import java.util.concurrent.TimeUnit; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.*; -import static org.junit.jupiter.api.Assertions.assertEquals; public class TypeConversionTest extends TestHelper { @Override @@ -73,7 +77,7 @@ public void testNoConversion() { doc.set("string", "test"); doc.set("int", 33); - doc.set("long", 33l); + doc.set("long", 33L); doc.set("float", 33.33f); doc.set("double", 33.33d); doc.set("decimal", new BigDecimal("33.33")); @@ -87,7 +91,7 @@ public void testNoConversion() { doc.set("localDateTime", localDateTime); // SCHEMALESS assertThat(doc.get("int")).isEqualTo(33); - assertThat(doc.get("long")).isEqualTo(33l); + assertThat(doc.get("long")).isEqualTo(33L); assertThat(doc.get("float")).isEqualTo(33.33f); assertThat(doc.get("double")).isEqualTo(33.33d); assertThat(doc.get("decimal")).isEqualTo(new BigDecimal("33.33")); @@ -122,10 +126,12 @@ public void testConversionDecimals() { doc.save(); - assertEquals(String.format("%.1f", 33.3F), - database.query("sql", "select decimal.format('%.1f') as d from " + doc.getIdentity()).nextIfAvailable().getProperty("d")); - assertEquals(String.format("%.2f", 33.33F), - database.query("sql", "select decimal.format('%.2f') as d from " + doc.getIdentity()).nextIfAvailable().getProperty("d")); + String property = database.query("sql", "select decimal.format('%.1f') as d from " + doc.getIdentity()).nextIfAvailable() + .getProperty("d"); + assertThat(property).isEqualTo(String.format("%.1f", 33.3F)); + property = database.query("sql", "select decimal.format('%.2f') as d from " + doc.getIdentity()).nextIfAvailable() + .getProperty("d"); + assertThat(property).isEqualTo(String.format("%.2f", 33.33F)); doc.delete(); }); @@ -160,12 +166,13 @@ public void testConversionDates() { doc.set("date", localDate); doc.set("datetime_nanos", localDateTime); assertThat(doc.getLocalDate("date")).isEqualTo(localDate); - assertEquals(localDateTime.truncatedTo(DateUtils.getPrecision(localDateTime.getNano())), - doc.getLocalDateTime("datetime_nanos")); - assertEquals( - TimeUnit.MILLISECONDS.convert(localDateTime.toEpochSecond(ZoneOffset.UTC), TimeUnit.SECONDS) + localDateTime.getLong( - ChronoField.MILLI_OF_SECOND), doc.getCalendar("datetime_nanos").getTime().getTime()); + assertThat(doc.getLocalDateTime("datetime_nanos")).isEqualTo( + localDateTime.truncatedTo(DateUtils.getPrecision(localDateTime.getNano()))); + + assertThat(doc.getCalendar("datetime_nanos").getTime().getTime()) + .isEqualTo(TimeUnit.MILLISECONDS.convert(localDateTime.toEpochSecond(ZoneOffset.UTC), + TimeUnit.SECONDS) + localDateTime.getLong(ChronoField.MILLI_OF_SECOND)); }); } @@ -234,19 +241,28 @@ public void testLocalDateTime() throws ClassNotFoundException { doc.reload(); assertThat(doc.get("datetime_nanos")).isEqualTo(localDateTime.truncatedTo(ChronoUnit.NANOS)); - assertThat((Long) database.query("sql", "select datetime_second.asLong() as long from ConversionTest").nextIfAvailable() - .getProperty("long")).isNotNull(); - assertThat((Long) database.query("sql", "select datetime_millis.asLong() as long from ConversionTest").nextIfAvailable() - .getProperty("long")).isNotNull(); - assertThat((Long) database.query("sql", "select datetime_micros.asLong() as long from ConversionTest").nextIfAvailable() - .getProperty("long")).isNotNull(); - assertThat((Long) database.query("sql", "select datetime_nanos.asLong() as long from ConversionTest").nextIfAvailable() - .getProperty("long")).isNotNull(); - - assertThat(doc.getDate("datetime_millis").getTime()).isEqualTo(TimeUnit.MILLISECONDS.convert(localDateTime.toEpochSecond(ZoneOffset.UTC), TimeUnit.SECONDS) + localDateTime.getLong( - ChronoField.MILLI_OF_SECOND)); + assertThat(database.query("sql", "select datetime_second.asLong() as long from ConversionTest") + .nextIfAvailable() + .getProperty("long")) + .isNotNull(); + assertThat(database.query("sql", "select datetime_millis.asLong() as long from ConversionTest") + .nextIfAvailable() + .getProperty("long")) + .isNotNull(); + assertThat(database.query("sql", "select datetime_micros.asLong() as long from ConversionTest") + .nextIfAvailable() + .getProperty("long")) + .isNotNull(); + assertThat(database.query("sql", "select datetime_nanos.asLong() as long from ConversionTest") + .nextIfAvailable() + .getProperty("long")) + .isNotNull(); + + assertThat(doc.getDate("datetime_millis").getTime()).isEqualTo( + TimeUnit.MILLISECONDS.convert(localDateTime.toEpochSecond(ZoneOffset.UTC), TimeUnit.SECONDS) + localDateTime.getLong( + ChronoField.MILLI_OF_SECOND)); - assertThat(localDateTime.isEqual(doc.getLocalDateTime("datetime_nanos"))).isTrue(); + assertThat(doc.getLocalDateTime("datetime_nanos")).isEqualTo(localDateTime); } finally { ((DatabaseInternal) database).getSerializer().setDateTimeImplementation(Date.class); @@ -344,7 +360,8 @@ public void testZonedDateTime() throws ClassNotFoundException { }); doc.reload(); - assertThat(zonedDateTime.truncatedTo(ChronoUnit.SECONDS).isEqual((ChronoZonedDateTime) doc.get("datetime_second"))).isTrue(); + assertThat( + zonedDateTime.truncatedTo(ChronoUnit.SECONDS).isEqual((ChronoZonedDateTime) doc.get("datetime_second"))).isTrue(); database.transaction(() -> { // TEST MILLISECONDS PRECISION @@ -353,7 +370,8 @@ public void testZonedDateTime() throws ClassNotFoundException { }); doc.reload(); - assertThat(zonedDateTime.truncatedTo(ChronoUnit.MILLIS).isEqual((ChronoZonedDateTime) doc.get("datetime_millis"))).isTrue(); + assertThat( + zonedDateTime.truncatedTo(ChronoUnit.MILLIS).isEqual((ChronoZonedDateTime) doc.get("datetime_millis"))).isTrue(); if (!System.getProperty("os.name").startsWith("Windows")) { // NOTE: ON WINDOWS MICROSECONDS ARE NOT HANDLED CORRECTLY @@ -365,7 +383,8 @@ public void testZonedDateTime() throws ClassNotFoundException { }); doc.reload(); - assertThat(zonedDateTime.truncatedTo(ChronoUnit.MICROS).isEqual((ChronoZonedDateTime) doc.get("datetime_micros"))).isTrue(); + assertThat( + zonedDateTime.truncatedTo(ChronoUnit.MICROS).isEqual((ChronoZonedDateTime) doc.get("datetime_micros"))).isTrue(); } // TEST NANOSECOND PRECISION @@ -374,9 +393,8 @@ public void testZonedDateTime() throws ClassNotFoundException { doc.save(); }); doc.reload(); - assertThat(zonedDateTime.truncatedTo(ChronoUnit.NANOS).isEqual((ChronoZonedDateTime) doc.get("datetime_nanos"))).isTrue(); - assertThat(zonedDateTime.isEqual(doc.getZonedDateTime("datetime_nanos"))).isTrue(); - + assertThat(doc.getZonedDateTime("datetime_nanos")).isEqualTo(zonedDateTime.truncatedTo(ChronoUnit.NANOS)); + assertThat(doc.getZonedDateTime("datetime_nanos")).isEqualTo(zonedDateTime); } finally { ((DatabaseInternal) database).getSerializer().setDateTimeImplementation(Date.class); } @@ -397,7 +415,7 @@ public void testInstant() throws ClassNotFoundException { }); doc.reload(); - assertThat(doc.get("datetime_second")).isEqualTo(instant.truncatedTo(ChronoUnit.SECONDS)); + assertThat(doc.getInstant("datetime_second")).isEqualTo(instant.truncatedTo(ChronoUnit.SECONDS)); database.transaction(() -> { // TEST MILLISECONDS PRECISION @@ -406,7 +424,7 @@ public void testInstant() throws ClassNotFoundException { }); doc.reload(); - assertThat(doc.get("datetime_millis")).isEqualTo(instant.truncatedTo(ChronoUnit.MILLIS)); + assertThat(doc.getInstant("datetime_millis")).isEqualTo(instant.truncatedTo(ChronoUnit.MILLIS)); // TEST MICROSECONDS PRECISION database.transaction(() -> { @@ -417,7 +435,7 @@ public void testInstant() throws ClassNotFoundException { doc.reload(); if (!System.getProperty("os.name").startsWith("Windows")) // NOTE: ON WINDOWS MICROSECONDS ARE NOT HANDLED CORRECTLY - assertThat(doc.get("datetime_micros")).isEqualTo(instant.truncatedTo(ChronoUnit.MICROS)); + assertThat(doc.getInstant("datetime_micros")).isEqualTo(instant.truncatedTo(ChronoUnit.MICROS)); // TEST NANOSECOND PRECISION database.transaction(() -> { @@ -425,7 +443,7 @@ public void testInstant() throws ClassNotFoundException { doc.save(); }); doc.reload(); - assertThat(doc.get("datetime_nanos")).isEqualTo(instant.truncatedTo(ChronoUnit.NANOS)); + assertThat(doc.getInstant("datetime_nanos")).isEqualTo(instant.truncatedTo(ChronoUnit.NANOS)); assertThat(doc.getInstant("datetime_nanos")).isEqualTo(instant); } finally { @@ -501,7 +519,11 @@ public void testSQLMath() { assertThat(resultSet.hasNext()).isFalse(); resultSet = database.command("sql", - "select sysdate() - datetime_micros as diff from ConversionTest where sysdate() - datetime_micros < duration(100000000000, 'nanosecond')"); + """ + select sysdate() - datetime_micros as diff + from ConversionTest + where sysdate() - datetime_micros < duration(100000000000, 'nanosecond') + """); assertThat(resultSet.hasNext()).isTrue(); result = resultSet.next(); assertThat(((Duration) result.getProperty("diff")).isNegative()).as("Returned " + result.getProperty("diff")).isFalse(); @@ -513,7 +535,11 @@ public void testSQLMath() { assertThat(resultSet.hasNext()).isFalse(); resultSet = database.command("sql", - "select datetime_micros - sysdate() as diff from ConversionTest where abs( datetime_micros - sysdate() ) < duration(100000000000, 'nanosecond')"); + """ + select datetime_micros - sysdate() as diff + from ConversionTest + where abs( datetime_micros - sysdate() ) < duration(100000000000, 'nanosecond') + """); assertThat(resultSet.hasNext()).isTrue(); result = resultSet.next(); @@ -526,7 +552,11 @@ public void testSQLMath() { assertThat(resultSet.hasNext()).isFalse(); resultSet = database.command("sql", - "select datetime_micros - date(?, 'yyyy-MM-dd HH:mm:ss.SSS') as diff from ConversionTest where abs( datetime_micros - sysdate() ) < duration(100000000000, 'nanosecond')", + """ + select datetime_micros - date(?, 'yyyy-MM-dd HH:mm:ss.SSS') as diff + from ConversionTest + where abs( datetime_micros - sysdate() ) < duration(100000000000, 'nanosecond') + """, DateUtils.getFormatter("yyyy-MM-dd HH:mm:ss.SSS").format(LocalDateTime.now())); assertThat(resultSet.hasNext()).isTrue(); @@ -540,7 +570,11 @@ public void testSQLMath() { assertThat(resultSet.hasNext()).isFalse(); resultSet = database.command("sql", - "select datetime_micros - date(?, 'yyyy-MM-dd HH:mm:ss.SSS') as diff from ConversionTest where abs( datetime_micros - sysdate() ) < duration(3, \"second\")", + """ + select datetime_micros - date(?, 'yyyy-MM-dd HH:mm:ss.SSS') as diff + from ConversionTest + where abs( datetime_micros - sysdate() ) < duration(3, "second") + """, DateUtils.getFormatter("yyyy-MM-dd HH:mm:ss.SSS").format(LocalDateTime.now())); assertThat(resultSet.hasNext()).isTrue(); diff --git a/server/src/test/java/com/arcadedb/server/RemoteQueriesIT.java b/server/src/test/java/com/arcadedb/server/RemoteQueriesIT.java index 9cc086544..404a0ab7a 100644 --- a/server/src/test/java/com/arcadedb/server/RemoteQueriesIT.java +++ b/server/src/test/java/com/arcadedb/server/RemoteQueriesIT.java @@ -200,34 +200,30 @@ public void testLocalDateTimeOrderBy() { arcadeDBServer = new ArcadeDBServer(configuration); arcadeDBServer.start(); Database database = arcadeDBServer.getDatabase("testLocalDateTimeOrderBy"); - String name, type; - LocalDateTime start, stop; + DateTimeFormatter FILENAME_TIME_FORMAT = DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss"); Result result; String sqlString = "INSERT INTO Product SET name = ?, type = ?, start = ?, stop = ?"; - name = "CS_OPER_AUX_ORBDOR_20220318T215523_20220320T002323_F001.EEF"; - type = "AUX_ORBDOR"; - start = LocalDateTime.parse("20220318T215523", FILENAME_TIME_FORMAT); - stop = LocalDateTime.parse("20220320T002323", FILENAME_TIME_FORMAT); - Object[] parameters1 = { name, type, start, stop }; - try (ResultSet resultSet = database.command("sql", sqlString, parameters1)) { + String name = "CS_OPER_AUX_ORBDOR_20220318T215523_20220320T002323_F001.EEF"; + String type = "AUX_ORBDOR"; + LocalDateTime start = LocalDateTime.parse("20220318T215523", FILENAME_TIME_FORMAT); + LocalDateTime stop = LocalDateTime.parse("20220320T002323", FILENAME_TIME_FORMAT); + try (ResultSet resultSet = database.command("sql", sqlString, name, type, start, stop)) { assertThat(resultSet.hasNext()).isTrue(); result = resultSet.next(); - assertThat(start).as("start value retrieved does not match start value inserted").isEqualTo(result.getProperty("start")); - } catch (Exception e) { - e.printStackTrace(); + assertThat(start).as("start value retrieved does not match start value inserted").isEqualTo(result.getProperty("start")); } + sqlString = "SELECT name, start, stop FROM Product WHERE type = ? AND start <= ? AND stop >= ? ORDER BY start DESC"; type = "AUX_ORBDOR"; start = LocalDateTime.parse("2022-03-19T00:26:24.404379", DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSS")); stop = LocalDateTime.parse("2022-03-19T00:28:26.525650", DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSS")); - Object[] parameters2 = { type, start, stop }; - try (ResultSet resultSet = database.query("sql", sqlString, parameters2)) { + try (ResultSet resultSet = database.query("sql", sqlString, type, start, stop)) { assertThat(resultSet.hasNext()).isTrue(); while (resultSet.hasNext()) { result = resultSet.next(); - //Assertions.assertThat(result.getProperty("start").equals(start)).as("start value retrieved does not match start value inserted").isTrue(); + assertThat(result.getProperty("start")).isNotEqualTo(start); } } }