From cb06052c86e326fd3be809c3da603bb83bf39184 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Mon, 21 Aug 2023 20:19:59 +1200 Subject: [PATCH] For Lists.partition() fix for empty list input Fix such that empty list input produces an empty list --- ebean-api/src/main/java/io/ebean/Lists.java | 5 ++++- ebean-api/src/test/java/io/ebean/ListsTest.java | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ebean-api/src/main/java/io/ebean/Lists.java b/ebean-api/src/main/java/io/ebean/Lists.java index e80aa91fd..1d54115cb 100644 --- a/ebean-api/src/main/java/io/ebean/Lists.java +++ b/ebean-api/src/main/java/io/ebean/Lists.java @@ -1,6 +1,7 @@ package io.ebean; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -24,7 +25,9 @@ public final class Lists { */ public static List> partition(List source, int max) { final int totalCount = source.size(); - if (totalCount <= max) { + if (totalCount == 0) { + return Collections.emptyList(); + } else if (totalCount <= max) { return List.of(source); } final int numOfPartitions = (totalCount + max - 1) / max; // round up diff --git a/ebean-api/src/test/java/io/ebean/ListsTest.java b/ebean-api/src/test/java/io/ebean/ListsTest.java index 42dc2b63a..64e25e5d1 100644 --- a/ebean-api/src/test/java/io/ebean/ListsTest.java +++ b/ebean-api/src/test/java/io/ebean/ListsTest.java @@ -11,8 +11,7 @@ class ListsTest { @Test void partition_empty() { List> partitions = Lists.partition(List.of(), 5); - assertThat(partitions).hasSize(1); - assertThat(partitions.get(0)).hasSize(0); + assertThat(partitions).isEmpty(); } @Test