1 package com.github.davidmoten.guavamini;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNull;
5 import static org.junit.Assert.assertTrue;
6
7 import org.junit.Assert;
8 import org.junit.Test;
9
10 import com.github.davidmoten.junit.Asserts;
11
12 public class PreconditionsTest {
13
14 @Test(expected = NullPointerException.class)
15 public void testNullThrowsException() {
16 Preconditions.checkNotNull(null);
17 }
18
19 @Test
20 public void testNotNullDoesNotThrowException() {
21 Preconditions.checkNotNull(new Object());
22 }
23
24 @Test
25 public void testNotNullReturnsTypedObject() {
26 Integer n = 1;
27 Integer m = Preconditions.checkNotNull(n);
28 assertEquals(n, m);
29 }
30
31 @Test
32 public void testCheckArgumentThrowsIAE() {
33 try {
34 Preconditions.checkArgument(false, "hi");
35 Assert.fail();
36 } catch (IllegalArgumentException e) {
37 assertEquals("hi", e.getMessage());
38 }
39 }
40
41 @Test
42 public void testCheckArgumentDoesNotThrowIAE() {
43 Preconditions.checkArgument(true, "hi");
44 }
45
46 @Test
47 public void testCheckArgumentWithoutMessageThrowsIAE() {
48 try {
49 Preconditions.checkArgument(false);
50 Assert.fail();
51 } catch (IllegalArgumentException e) {
52 assertNull(e.getMessage());
53 }
54 }
55
56 @Test
57 public void testCheckArgumentWithoutMessageDoesNotThrowIAE() {
58 Preconditions.checkArgument(true);
59 }
60
61 @Test
62 public void testCoverage() {
63 Asserts.assertIsUtilityClass(Preconditions.class);
64 }
65
66 @Test
67 public void testCheckArgumentNotNullThrowsIAE() {
68 try {
69 Preconditions.checkArgumentNotNull(null);
70 Assert.fail();
71 } catch (IllegalArgumentException e) {
72 assertEquals("argument cannot be null", e.getMessage());
73 }
74 }
75
76 @Test
77 public void testCheckArgumentNotNullReturnsWhenNotNull() {
78 Object o = new Object();
79 assertTrue(o == Preconditions.checkArgumentNotNull(o));
80 }
81
82 }