Skip to content

Commit d401193

Browse files
author
Bytekeeper
committed
Fixed a remove bug not removing the last item.
1 parent ee01243 commit d401193

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/main/java/org/bk/ass/query/PositionQueries.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public boolean remove(Object o) {
122122
for (i = 0; i < replacement.length && !Objects.equals(node.values[i], o); i++) {
123123
replacement[i] = node.values[i];
124124
}
125-
if (i == replacement.length) return false;
125+
if (i == node.values.length) return false;
126126
for (; i < replacement.length; i++) {
127127
replacement[i] = node.values[i + 1];
128128
}

src/test/java/org/bk/ass/query/PositionQueriesTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,19 @@ void shouldRemoveItem() {
241241
assertThat(removed).isTrue();
242242
}
243243

244+
@Test
245+
void shouldRemoveLastItem() {
246+
// GIVEN
247+
PositionQueries<Position> finder =
248+
new PositionQueries<>(Collections.singletonList(new Position(0, 0)), Function.identity());
249+
250+
// WHEN
251+
boolean removed = finder.remove(new Position(0, 0));
252+
253+
// THEN
254+
assertThat(removed).isTrue();
255+
}
256+
244257
@Test
245258
void shouldRemoveAllItems() {
246259
// GIVEN

0 commit comments

Comments
 (0)