1 package com.github.davidmoten.guavamini;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
5
6 import java.util.ArrayList;
7 import java.util.Iterator;
8
9 import org.junit.Test;
10
11 import com.github.davidmoten.junit.Asserts;
12
13 public class ListsTest {
14
15 @Test
16 public void instantiateList() {
17 ArrayList<Integer> list = new ArrayList<Integer>();
18 list.add(1);
19 list.add(2);
20 assertEquals(list, Lists.newArrayList(1, 2));
21 }
22
23 @Test
24 public void createListFromIterable() {
25 ArrayList<Integer> list = Lists.newArrayList(Lists.newArrayList(1, 2));
26 assertEquals(list, Lists.newArrayList(1, 2));
27 }
28
29 @Test
30 public void createListFromNonCollectionIterable() {
31 ArrayList<Integer> list = Lists.newArrayList(new Iterable<Integer>() {
32
33 @Override
34 public Iterator<Integer> iterator() {
35 return Lists.newArrayList(1, 2).iterator();
36 }
37 });
38 assertEquals(list, Lists.newArrayList(1, 2));
39 }
40
41 @Test(expected = IllegalArgumentException.class)
42 public void negativeCapacityThrowsIAE() {
43 Lists.computeArrayListCapacity(-1);
44 }
45
46 @Test
47 public void saturatedCastWhenLargeReturnsIntegerMaxValue() {
48 assertEquals(Integer.MAX_VALUE, Lists.saturatedCast(Integer.MAX_VALUE + 1L));
49 }
50
51 @Test
52 public void saturatedCastWhenLargeNegativeReturnsIntegerMinValue() {
53 assertEquals(Integer.MIN_VALUE, Lists.saturatedCast(Integer.MIN_VALUE - 1L));
54 }
55
56 @Test
57 public void isUtilityClass() {
58 Asserts.assertIsUtilityClass(Lists.class);
59 }
60
61 @Test
62 public void newEmptyList() {
63 assertTrue(Lists.newArrayList().isEmpty());
64 }
65 }