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.Iterator;
7
8 import org.junit.Test;
9
10 import com.github.davidmoten.junit.Asserts;
11
12 public class SetsTest {
13
14 @Test
15 public void testCreate() {
16 assertTrue(Sets.newHashSet(1, 2, 3).contains(2));
17 }
18
19 @Test
20 public void testCreateFromIterator() {
21 assertTrue(Sets.newHashSet(Sets.newHashSet(1, 2, 3).iterator()).contains(2));
22 }
23
24 @Test
25 public void testCreateFromIterable() {
26 assertTrue(Sets.newHashSet(Sets.newHashSet(1, 2, 3)).contains(2));
27 }
28
29 @Test
30 public void testCreateFromNonCollectionIterable() {
31 assertTrue(Sets.newHashSet(new Iterable<Integer>() {
32
33 @Override
34 public Iterator<Integer> iterator() {
35 return Sets.newHashSet(1, 2).iterator();
36 }
37 }).contains(2));
38 }
39
40 @Test
41 public void testIsUtilityClass() {
42 Asserts.assertIsUtilityClass(Sets.class);
43 }
44
45 @Test
46 public void testCheckNonNegativeZero() {
47 Sets.checkNonnegative(0, "boo");
48 }
49
50 @Test
51 public void testCheckNonNegativePositive() {
52 Sets.checkNonnegative(1, "boo");
53 }
54
55 @Test(expected = IllegalArgumentException.class)
56 public void testCheckNonNegativeNegative() {
57 Sets.checkNonnegative(-1, "boo");
58 }
59
60 @Test
61 public void testCapacityForOne() {
62 assertEquals(2, Sets.capacity(1));
63 }
64
65 @Test
66 public void testCapacityForLarge() {
67 assertEquals(Integer.MAX_VALUE, Sets.capacity(Sets.MAX_POWER_OF_TWO + 1));
68 }
69 }