1 package net.sourceforge.pmd.lang;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertFalse;
5 import static org.junit.Assert.assertNotSame;
6 import static org.junit.Assert.assertNull;
7 import static org.junit.Assert.assertTrue;
8 import net.sourceforge.pmd.lang.ParserOptions;
9
10 import org.junit.Test;
11
12 public class ParserOptionsTest {
13
14 @Test
15 public void testSuppressMarker() throws Exception {
16 ParserOptions parserOptions = new ParserOptions();
17 assertNull(parserOptions.getSuppressMarker());
18 parserOptions.setSuppressMarker("foo");
19 assertEquals("foo", parserOptions.getSuppressMarker());
20 }
21
22 @Test
23 public void testEqualsHashcode() throws Exception {
24 ParserOptions options1 = new ParserOptions();
25 options1.setSuppressMarker("foo");
26 ParserOptions options2 = new ParserOptions();
27 options2.setSuppressMarker("bar");
28 ParserOptions options3 = new ParserOptions();
29 options3.setSuppressMarker("foo");
30 ParserOptions options4 = new ParserOptions();
31 options4.setSuppressMarker("bar");
32 verifyOptionsEqualsHashcode(options1, options2, options3, options4);
33 }
34
35
36 @SuppressWarnings("PMD.UseAssertSameInsteadOfAssertTrue")
37 public static void verifyOptionsEqualsHashcode(ParserOptions options1, ParserOptions options2,
38 ParserOptions options3, ParserOptions options4) {
39
40 assertNotSame(options1, options2);
41 assertNotSame(options1, options2);
42 assertNotSame(options1, options3);
43 assertNotSame(options2, options3);
44 assertNotSame(options2, options4);
45 assertNotSame(options3, options4);
46
47
48 assertEquals(options1, options1);
49 assertFalse(options1.equals(options2));
50 assertEquals(options1, options3);
51 assertFalse(options1.equals(options4));
52
53 assertFalse(options2.equals(options1));
54 assertEquals(options2, options2);
55 assertFalse(options2.equals(options3));
56 assertEquals(options2, options4);
57
58 assertEquals(options3, options1);
59 assertFalse(options3.equals(options2));
60 assertEquals(options3, options3);
61 assertFalse(options3.equals(options4));
62
63 assertFalse(options4.equals(options1));
64 assertEquals(options4, options2);
65 assertFalse(options4.equals(options3));
66 assertEquals(options4, options4);
67
68
69 assertFalse(options1.hashCode() == options2.hashCode());
70 assertTrue(options1.hashCode() == options3.hashCode());
71 assertFalse(options1.hashCode() == options4.hashCode());
72 assertFalse(options2.hashCode() == options3.hashCode());
73 assertTrue(options2.hashCode() == options4.hashCode());
74 assertFalse(options3.hashCode() == options4.hashCode());
75 }
76
77 public static junit.framework.Test suite() {
78 return new junit.framework.JUnit4TestAdapter(ParserOptionsTest.class);
79 }
80 }