Skip to content

Commit 3fc8591

Browse files
committed
Sync with underscore-java.
1 parent 3a5281c commit 3fc8591

File tree

9 files changed

+121
-120
lines changed

9 files changed

+121
-120
lines changed

src/main/java/com/github/underscore/U.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -894,7 +894,7 @@ public static <E> Set<E> sample(final List<E> list, final int howMany) {
894894
public static <T extends Comparable<? super T>> List<T> sortWith(final Iterable<T> iterable,
895895
final Comparator<T> comparator) {
896896
final List<T> sortedList = newArrayList(iterable);
897-
Collections.sort(sortedList, comparator);
897+
sortedList.sort(comparator);
898898
return sortedList;
899899
}
900900

@@ -909,7 +909,7 @@ public <E extends Comparable<? super E>> List<E> sortWith(final Comparator<E> co
909909
public static <E, T extends Comparable<? super T>> List<E> sortBy(final Iterable<E> iterable,
910910
final Function<E, T> func) {
911911
final List<E> sortedList = newArrayList(iterable);
912-
Collections.sort(sortedList, (o1, o2) -> func.apply(o1).compareTo(func.apply(o2)));
912+
sortedList.sort((o1, o2) -> func.apply(o1).compareTo(func.apply(o2)));
913913
return sortedList;
914914
}
915915

@@ -921,7 +921,7 @@ public <E, V extends Comparable<? super V>> List<E> sortBy(final Function<E, V>
921921
public static <K, V extends Comparable<? super V>> List<Map<K, V>> sortBy(final Iterable<Map<K, V>> iterable,
922922
final K key) {
923923
final List<Map<K, V>> sortedList = newArrayList(iterable);
924-
Collections.sort(sortedList, (o1, o2) -> o1.get(key).compareTo(o2.get(key)));
924+
sortedList.sort((o1, o2) -> o1.get(key).compareTo(o2.get(key)));
925925
return sortedList;
926926
}
927927

@@ -3730,7 +3730,7 @@ private static List<Map.Entry<String, Integer>> getEntries(List<String> reviews,
37303730

37313731
private static List<Map.Entry<String, Integer>> getEntries(Map<String, Integer> topCompetitorsMap) {
37323732
List<Map.Entry<String, Integer>> list = new ArrayList<>(topCompetitorsMap.entrySet());
3733-
Collections.sort(list, new ValueThenKeyComparator<>());
3733+
list.sort(new ValueThenKeyComparator<>());
37343734
return list;
37353735
}
37363736

@@ -3739,11 +3739,10 @@ public static class ValueThenKeyComparator<K extends Comparable<? super K>,
37393739

37403740
public int compare(Map.Entry<K, V> a, Map.Entry<K, V> b) {
37413741
int cmp1 = b.getValue().compareTo(a.getValue());
3742-
if (cmp1 != 0) {
3743-
return cmp1;
3744-
} else {
3742+
if (cmp1 == 0) {
37453743
return a.getKey().compareTo(b.getKey());
37463744
}
3745+
return cmp1;
37473746
}
37483747
}
37493748

src/main/java/com/github/underscore/lodash/U.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -870,12 +870,7 @@ public List<T> flattenDeep() {
870870

871871
public static List<Object> pull(final List<Object> list, Object ... values) {
872872
final List<Object> valuesList = Arrays.asList(values);
873-
for (final Iterator<Object> iterator = list.iterator(); iterator.hasNext(); ) {
874-
final Object object = iterator.next();
875-
if (valuesList.contains(object)) {
876-
iterator.remove();
877-
}
878-
}
873+
list.removeIf(valuesList::contains);
879874
return list;
880875
}
881876

src/test/java/com/github/underscore/ArraysTest.java

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.Set;
3636

3737
import static java.util.Arrays.asList;
38+
import static java.util.Collections.singletonList;
3839
import static org.junit.Assert.assertEquals;
3940
import static org.junit.Assert.assertNull;
4041

@@ -70,7 +71,7 @@ public void first() {
7071
assertEquals("[]", U.first(U.range(3), -2).toString());
7172
assertEquals("[]", new U<>(U.range(3)).first(0).toString());
7273
assertEquals("[]", new U<>(U.range(3)).first(-1).toString());
73-
assertEquals("[]", U.chain(asList("a")).first(-100).value().toString());
74+
assertEquals("[]", U.chain(singletonList("a")).first(-100).value().toString());
7475
//array
7576
assertEquals(5, U.first(new Integer[] {5, 4, 3, 2, 1}).intValue());
7677
//static, chain, object with predicate
@@ -118,7 +119,7 @@ public void firstOrNull() {
118119
@Test(expected = NoSuchElementException.class)
119120
@SuppressWarnings("unchecked")
120121
public void firstEmpty() {
121-
U.first(asList());
122+
U.first(Collections.emptyList());
122123
}
123124

124125
/*
@@ -150,11 +151,11 @@ public void head() {
150151
@Test
151152
public void singleOrNull() {
152153
U<Integer> uWithMoreElement = new U<>(asList(1, 2, 3));
153-
U<Integer> uWithOneElement = new U<>(asList(1));
154+
U<Integer> uWithOneElement = new U<>(singletonList(1));
154155

155156
final Integer result1 = U.singleOrNull(asList(1, 2, 3));
156157
assertNull(result1);
157-
final int result2 = U.singleOrNull(asList(1));
158+
final int result2 = U.singleOrNull(singletonList(1));
158159
assertEquals(1, result2);
159160
final Integer result3 = U.singleOrNull(new ArrayList<>());
160161
assertNull(result3);
@@ -312,9 +313,9 @@ public void interpose() {
312313
assertEquals("[0]", U.interpose(U.range(1), 500).toString());
313314
assertEquals("[a, interpose, b, interpose, c]", new U<>(asList("a", "b", "c"))
314315
.interpose("interpose").toString());
315-
assertEquals("[a]", new U<>(asList("a")).interpose("interpose").toString());
316-
assertEquals("[a, b]", new U<>(asList("a, b")).interpose(null).toString());
317-
assertEquals("[a]", U.chain(asList("a")).interpose("interpose").toString());
316+
assertEquals("[a]", new U<>(singletonList("a")).interpose("interpose").toString());
317+
assertEquals("[a, b]", new U<>(singletonList("a, b")).interpose(null).toString());
318+
assertEquals("[a]", U.chain(singletonList("a")).interpose("interpose").toString());
318319
assertEquals("[]", U.chain(U.newArrayList()).interpose("interpose").toString());
319320
assertEquals("[a, b, c]", U.chain(asList("a", "b", "c")).interpose(null).toString());
320321
assertEquals("[?, interpose, !, interpose, -]", U.chain(asList("?", "!", "-"))
@@ -342,13 +343,13 @@ public void interposeByList() {
342343
list2.add(1);
343344
assertEquals("[1]", U.interposeByList(list2, U.range(100, 300, 50)).toString());
344345
assertEquals("[0, 100, 1, 2, 3]", U.interposeByList(U.range(4), U.newIntegerList(100)).toString());
345-
assertEquals("[a, zzz, b, c]", new U<>(asList("a", "b", "c")).interposeByList(asList("zzz")).toString());
346+
assertEquals("[a, zzz, b, c]", new U<>(asList("a", "b", "c")).interposeByList(singletonList("zzz")).toString());
346347
assertEquals("[a, b, c]", new U<>(asList("a", "b", "c")).interposeByList(null).toString());
347-
assertEquals("[a]", new U<>(asList("a")).interposeByList(asList("zzz")).toString());
348+
assertEquals("[a]", new U<>(singletonList("a")).interposeByList(singletonList("zzz")).toString());
348349
assertEquals("[a, b, c]", new U<>(asList("a", "b", "c")).interposeByList(list1).toString());
349350
assertEquals("[a, aaa, b, bbb, c]", new U<>(asList("a", "b", "c"))
350351
.interposeByList(asList("aaa", "bbb", "ccc")).toString());
351-
assertEquals("[a]", U.chain(asList("a")).interposeByList(asList("aaa", "bbb", "ccc")).toString());
352+
assertEquals("[a]", U.chain(singletonList("a")).interposeByList(asList("aaa", "bbb", "ccc")).toString());
352353
assertEquals("[aaa, bbb, ccc]", U.chain(asList("aaa", "bbb", "ccc")).interposeByList(null).toString());
353354
list2.clear();
354355
assertEquals("[]", U.chain(list2).interposeByList(U.range(6)).toString());
@@ -556,17 +557,21 @@ public void compact() {
556557
@Test
557558
@SuppressWarnings("unchecked")
558559
public void flatten() {
559-
final List<Integer> result = U.flatten(asList(1, asList(2, asList(3, asList(asList(4))))));
560+
final List<Integer> result = U.flatten(asList(1, asList(2, asList(3, singletonList(singletonList(4))))));
560561
assertEquals("[1, 2, 3, 4]", result.toString());
561-
final List<Integer> result2 = U.flatten(asList(1, asList(2, asList(3, asList(asList(4))))), true);
562+
final List<Integer> result2 = U.flatten(asList(1, asList(2, asList(3, singletonList(singletonList(4))))), true);
562563
assertEquals("[1, 2, [3, [[4]]]]", result2.toString());
563-
final List<Integer> result3 = U.flatten(asList(1, asList(2, asList(3, asList(asList(4))))), false);
564+
final List<Integer> result3 = U.flatten(asList(1, asList(2, asList(3,
565+
singletonList(singletonList(4))))), false);
564566
assertEquals("[1, 2, 3, 4]", result3.toString());
565-
final List<Integer> resultObj = new U(asList(1, asList(2, asList(3, asList(asList(4)))))).flatten();
567+
final List<Integer> resultObj = new U(asList(1, asList(2, asList(3,
568+
singletonList(singletonList(4)))))).flatten();
566569
assertEquals("[1, 2, 3, 4]", resultObj.toString());
567-
final List<Integer> resultObj2 = new U(asList(1, asList(2, asList(3, asList(asList(4)))))).flatten(true);
570+
final List<Integer> resultObj2 = new U(asList(1, asList(2, asList(3,
571+
singletonList(singletonList(4)))))).flatten(true);
568572
assertEquals("[1, 2, [3, [[4]]]]", resultObj2.toString());
569-
final List<Integer> resultObj3 = new U(asList(1, asList(2, asList(3, asList(asList(4)))))).flatten(false);
573+
final List<Integer> resultObj3 = new U(asList(1, asList(2, asList(3,
574+
singletonList(singletonList(4)))))).flatten(false);
570575
assertEquals("[1, 2, 3, 4]", resultObj3.toString());
571576
}
572577

@@ -639,7 +644,7 @@ public int compareTo(Person person) {
639644
return 0;
640645
}
641646
}
642-
U.<Person>sortedIndex(asList(new Person()), new Person(), "age");
647+
U.<Person>sortedIndex(singletonList(new Person()), new Person(), "age");
643648
}
644649

645650
/*

src/test/java/com/github/underscore/ObjectsTest.java

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,7 @@
2525

2626
import org.junit.Test;
2727

28-
import java.util.ArrayList;
29-
import java.util.Arrays;
30-
import java.util.Collection;
31-
import java.util.HashMap;
32-
import java.util.LinkedHashMap;
33-
import java.util.List;
34-
import java.util.Map;
35-
import java.util.Set;
28+
import java.util.*;
3629
import java.util.function.Function;
3730
import java.util.function.Predicate;
3831

@@ -243,9 +236,9 @@ public void isEmpty() {
243236
assertTrue(new U(new ArrayList<String>()).isEmpty());
244237
assertTrue(U.chain((List) null).isEmpty());
245238
assertTrue(U.chain(new ArrayList<String>()).isEmpty());
246-
assertFalse(U.isEmpty(asList("")));
247-
assertFalse(new U(asList("")).isEmpty());
248-
assertFalse(U.chain(asList("")).isEmpty());
239+
assertFalse(U.isEmpty(Collections.singletonList("")));
240+
assertFalse(new U(Collections.singletonList("")).isEmpty());
241+
assertFalse(U.chain(Collections.singletonList("")).isEmpty());
249242
assertTrue(U.isEmpty((Map) null));
250243
assertTrue(U.isEmpty(new HashMap<String, String>()));
251244
assertFalse(U.isEmpty(new HashMap<String, String>() { { put("", ""); } }));
@@ -260,9 +253,9 @@ public void isNotEmpty() {
260253
assertFalse(new U(new ArrayList<String>()).isNotEmpty());
261254
assertFalse(U.chain((List) null).isNotEmpty());
262255
assertFalse(U.chain(new ArrayList<String>()).isNotEmpty());
263-
assertTrue(U.isNotEmpty(asList("")));
264-
assertTrue(new U(asList("")).isNotEmpty());
265-
assertTrue(U.chain(asList("")).isNotEmpty());
256+
assertTrue(U.isNotEmpty(Collections.singletonList("")));
257+
assertTrue(new U(Collections.singletonList("")).isNotEmpty());
258+
assertTrue(U.chain(Collections.singletonList("")).isNotEmpty());
266259
assertFalse(U.isNotEmpty((Map) null));
267260
assertFalse(U.isNotEmpty(new HashMap<String, String>()));
268261
assertTrue(U.isNotEmpty(new HashMap<String, String>() { { put("", ""); } }));

src/test/java/com/github/underscore/UnderscoreTest.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.util.function.Predicate;
3030

3131
import static java.util.Arrays.asList;
32+
import static java.util.Collections.singletonList;
3233
import static org.junit.Assert.*;
3334

3435
/**
@@ -42,8 +43,8 @@ public class UnderscoreTest {
4243
@SuppressWarnings("unchecked")
4344
public void main() {
4445
U.main(new String[] {});
45-
new U(asList("")).getIterable();
46-
new U(asList("")).value();
46+
new U(singletonList("")).getIterable();
47+
new U(singletonList("")).value();
4748
new U("").getString();
4849
}
4950

@@ -148,8 +149,8 @@ public void concat() {
148149
assertEquals("[1, 2, 3, 4]", U.chain(asList(1, 2)).concat(asList(3, 4)).value().toString());
149150
assertEquals("[1, 2, 3, 4, 5, 6]", U.chain(asList(1, 2)).concat(asList(3, 4), asList(5, 6)).value().toString());
150151
assertEquals(asList(1, 2, 3, 4), asList(U.concat(new Integer[] {1, 2}, new Integer[] {3}, new Integer[] {4})));
151-
assertEquals(asList(1, 2, 3, 4), U.concat(asList(1, 2), asList(3), asList(4)));
152-
assertEquals(asList(1, 2, 3, 4), new U<>(asList(1, 2)).concatWith(asList(3), asList(4)));
152+
assertEquals(asList(1, 2, 3, 4), U.concat(asList(1, 2), singletonList(3), singletonList(4)));
153+
assertEquals(asList(1, 2, 3, 4), new U<>(asList(1, 2)).concatWith(singletonList(3), singletonList(4)));
153154
}
154155

155156
/*
@@ -168,8 +169,8 @@ public void slice() {
168169
assertEquals(asList(2, 3, 4), U.slice(asList(1, 2, 3, 4, 5), 1, 4));
169170
assertEquals(asList("a", "b"), U.slice(asList("a", "b", "c", "d"), 0, 2));
170171
assertEquals(asList(2, 3, 4), U.slice(asList(1, 2, 3, 4, 5), 1, -1));
171-
assertEquals(asList(3), U.slice(asList(1, 2, 3, 4, 5), 2, 3));
172-
assertEquals(asList(3), new U(asList(1, 2, 3, 4, 5)).slice(2, 3));
172+
assertEquals(singletonList(3), U.slice(asList(1, 2, 3, 4, 5), 2, 3));
173+
assertEquals(singletonList(3), new U(asList(1, 2, 3, 4, 5)).slice(2, 3));
173174
assertEquals(asList(4, 5), U.slice(asList(1, 2, 3, 4, 5), -2));
174175
assertEquals(asList(3, 4), U.slice(asList(1, 2, 3, 4, 5), -3, -1));
175176
assertEquals(asList(3, 4), U.slice(asList(1, 2, 3, 4, 5), -3, 4));

src/test/java/com/github/underscore/UtilityTest.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,7 @@
2525

2626
import org.junit.Test;
2727

28-
import java.util.ArrayList;
29-
import java.util.Arrays;
30-
import java.util.Date;
31-
import java.util.HashMap;
32-
import java.util.LinkedHashMap;
33-
import java.util.List;
34-
import java.util.Map;
28+
import java.util.*;
3529
import java.util.function.Supplier;
3630

3731
import static java.util.Arrays.asList;
@@ -172,7 +166,7 @@ public void mixin() {
172166
-> String.valueOf(string.charAt(0)).toUpperCase() + string.substring(1).toLowerCase());
173167
assertEquals("Fabio", new U("fabio").call("capitalize").get());
174168
assertFalse(new U("fabio").call("capitalize2").isPresent());
175-
assertFalse(new U(asList(1)).call("capitalize2").isPresent());
169+
assertFalse(new U(Collections.singletonList(1)).call("capitalize2").isPresent());
176170
}
177171

178172
/*
@@ -333,11 +327,11 @@ public void topNCompetitors() {
333327
assertEquals("[]", strings2.toString());
334328
List<String> strings3 = U.topNCompetitors(2, 2, competitors2, 6, null);
335329
assertEquals("[]", strings3.toString());
336-
List<String> strings4 = U.topNCompetitors(2, 2, competitors2, 6, Arrays.<String>asList());
330+
List<String> strings4 = U.topNCompetitors(2, 2, competitors2, 6, Collections.<String>emptyList());
337331
assertEquals("[]", strings4.toString());
338332
List<String> strings5 = U.topNCompetitors(2, 2, null, 6, reviews2);
339333
assertEquals("[]", strings5.toString());
340-
List<String> strings6 = U.topNCompetitors(2, 2, Arrays.<String>asList(), 6, reviews2);
334+
List<String> strings6 = U.topNCompetitors(2, 2, Collections.<String>emptyList(), 6, reviews2);
341335
assertEquals("[]", strings6.toString());
342336
List<String> strings7 = U.topNCompetitors(0, 2, competitors2, 6, reviews2);
343337
assertEquals("[]", strings7.toString());

src/test/java/com/github/underscore/lodash/LodashTest.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.function.Predicate;
3838

3939
import static java.util.Arrays.asList;
40+
import static java.util.Collections.singletonList;
4041
import static org.junit.Assert.*;
4142

4243
/**
@@ -184,11 +185,12 @@ public void fill() {
184185
@SuppressWarnings("unchecked")
185186
@Test
186187
public void flattenDeep() {
187-
final List<Integer> result = U.flattenDeep(asList(1, asList(2, 3, asList(asList(4)))));
188+
final List<Integer> result = U.flattenDeep(asList(1, asList(2, 3, singletonList(singletonList(4)))));
188189
assertEquals("[1, 2, 3, 4]", result.toString());
189-
final List<Integer> result2 = new U(asList(1, asList(2, 3, asList(asList(4))))).flattenDeep();
190+
final List<Integer> result2 = new U(asList(1, asList(2, 3, singletonList(singletonList(4))))).flattenDeep();
190191
assertEquals("[1, 2, 3, 4]", result2.toString());
191-
final List<?> resultChain = U.chain(asList(1, asList(2, 3, asList(asList(4))))).flattenDeep().value();
192+
final List<?> resultChain = U.chain(asList(1, asList(2, 3,
193+
singletonList(singletonList(4))))).flattenDeep().value();
192194
assertEquals("[1, 2, 3, 4]", resultChain.toString());
193195
}
194196

@@ -857,8 +859,8 @@ public void arrayBuilder() {
857859
public void main() {
858860
new U(new ArrayList<String>());
859861
new U("");
860-
new U(asList()).chain();
861-
new U(asList()).of();
862+
new U(Collections.emptyList()).chain();
863+
new U(Collections.emptyList()).of();
862864
new Json();
863865
new Xml();
864866
U.chain(new ArrayList<String>());

src/test/java/com/github/underscore/lodash/MathTest.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@
2727

2828
import java.math.BigDecimal;
2929
import java.math.BigInteger;
30-
import java.util.ArrayList;
31-
import java.util.Arrays;
32-
import java.util.HashSet;
33-
import java.util.List;
30+
import java.util.*;
3431
import java.util.function.Function;
3532

3633
import static java.util.Arrays.asList;
@@ -50,7 +47,7 @@ public void average() {
5047
assertEquals("2.0", result.toString());
5148
final Double resultFunc = U.average(asList((byte) 1, (byte) 2, (byte) 3), item -> (byte) (item * 2));
5249
assertEquals("4.0", resultFunc.toString());
53-
final Double resultFunc2 = U.average(asList((Byte) null), item -> item);
50+
final Double resultFunc2 = U.average(Collections.singletonList((Byte) null), item -> item);
5451
assertNull(resultFunc2);
5552
assertEquals("2.0", result.toString());
5653
}
@@ -71,7 +68,7 @@ public void average2() {
7168
assertEquals("2.0", result7.toString());
7269
final Double result8 = U.average(asList(BigInteger.valueOf(1), BigInteger.valueOf(2), BigInteger.valueOf(3)));
7370
assertEquals("2.0", result8.toString());
74-
final Double result9 = U.average(asList((Integer) null));
71+
final Double result9 = U.average(Collections.singletonList((Integer) null));
7572
assertNull(result9);
7673
}
7774

@@ -192,7 +189,7 @@ public void sum() {
192189
assertEquals("6", result7.toString());
193190
final BigInteger result8 = U.sum(asList(BigInteger.valueOf(1), BigInteger.valueOf(2), BigInteger.valueOf(3)));
194191
assertEquals("6", result8.toString());
195-
final Integer result9 = U.sum(asList((Integer) null));
192+
final Integer result9 = U.sum(Collections.singletonList((Integer) null));
196193
assertNull(result9);
197194
final Integer result10 = U.sum(asList(1, (Integer) null));
198195
assertEquals("1", result10.toString());
@@ -318,7 +315,7 @@ public void mean() {
318315
assertEquals("0.5", resultChain.toString());
319316
final Double result2 = U.mean(asList((long) 0, (long) 1, (long) 2));
320317
assertEquals("1.0", result2.toString());
321-
final Double result3 = U.mean(Arrays.<Double>asList());
318+
final Double result3 = U.mean(Collections.<Double>emptyList());
322319
assertEquals("0.0", result3.toString());
323320
}
324321

@@ -434,7 +431,7 @@ public void gcd() {
434431
public void main() {
435432
U.main(new String[] {});
436433
new U("");
437-
new U(asList()).chain();
434+
new U(Collections.emptyList()).chain();
438435
U.chain(new HashSet<String>());
439436
U.chain(new String[] {});
440437
}

0 commit comments

Comments
 (0)