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 }