Skip to content

Commit 31efc59

Browse files
committed
Fix bug in Set.addAll(Collection)
1 parent b8d469d commit 31efc59

File tree

2 files changed

+30
-1
lines changed
  • src/common/src
    • main/java/org/smoothbuild/common/collect
    • test/java/org/smoothbuild/common/collect

2 files changed

+30
-1
lines changed

src/common/src/main/java/org/smoothbuild/common/collect/Set.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public Set<E> addAll(java.util.Collection<? extends E> collection) {
120120

121121
public Set<E> addAll(Collection<? extends E> collection) {
122122
return switch (collection) {
123-
case List<? extends E> l -> addAll(collection);
123+
case List<? extends E> l -> addAll(l);
124124
case Set<? extends E> s -> addAll(s);
125125
};
126126
}

src/common/src/test/java/org/smoothbuild/common/collect/SetTest.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,35 @@ void duplicates_are_removed() {
368368
}
369369
}
370370

371+
@Nested
372+
class _custom_collection {
373+
@Test
374+
void two_empty_sets() {
375+
assertThat(set().addAll((Collection<Object>) set())).isEqualTo(set());
376+
}
377+
378+
@Test
379+
void empty_set() {
380+
assertThat(set(1).addAll((Collection<Integer>) Set.<Integer>set())).isEqualTo(set(1));
381+
}
382+
383+
@Test
384+
void to_empty_set() {
385+
assertThat(set().addAll((Collection<Integer>) set(2))).isEqualTo(set(2));
386+
}
387+
388+
@Test
389+
void two_one_element_sets() {
390+
assertThat(set(1).addAll((Collection<Integer>) set(2))).isEqualTo(set(1, 2));
391+
}
392+
393+
@Test
394+
void element_sets() {
395+
assertThat(set(1, 2, 3).addAll((Collection<Integer>) set(4, 5, 6)))
396+
.isEqualTo(set(1, 2, 3, 4, 5, 6));
397+
}
398+
}
399+
371400
@Nested
372401
class _custom_list {
373402
@Test

0 commit comments

Comments
 (0)