Browse Source

Add a Link unit test.

pull/45/head
Greg Holmes 9 years ago
parent
commit
6851b90fa8
2 changed files with 78 additions and 10 deletions
  1. 6
    10
      src/com/dmdirc/util/text/Link.java
  2. 72
    0
      test/com/dmdirc/util/text/LinkTest.java

+ 6
- 10
src/com/dmdirc/util/text/Link.java View File

@@ -68,17 +68,13 @@ public class Link {
68 68
 
69 69
     @Override
70 70
     public boolean equals(final Object o) {
71
-        if (this == o) {
72
-            return true;
71
+        if (o instanceof Link) {
72
+            final Link link = (Link) o;
73
+            return end == link.getEnd()
74
+                    && start == link.getStart()
75
+                    && Objects.equals(content, link.getContent());
73 76
         }
74
-
75
-        if (o == null || getClass() != o.getClass()) {
76
-            return false;
77
-        }
78
-
79
-        final Link link = (Link) o;
80
-        return end == link.getEnd() && start == link.getStart()
81
-                && Objects.equals(content, link.getContent());
77
+        return false;
82 78
     }
83 79
 
84 80
     @Override

+ 72
- 0
test/com/dmdirc/util/text/LinkTest.java View File

@@ -0,0 +1,72 @@
1
+/*
2
+ * Copyright (c) 2006-2015 DMDirc Developers
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.util.text;
24
+
25
+import org.junit.Before;
26
+import org.junit.Test;
27
+import org.junit.runner.RunWith;
28
+import org.mockito.runners.MockitoJUnitRunner;
29
+
30
+import static org.junit.Assert.assertEquals;
31
+import static org.junit.Assert.assertNotEquals;
32
+
33
+@RunWith(MockitoJUnitRunner.class)
34
+public class LinkTest {
35
+
36
+    private Link instance;
37
+
38
+    @Before
39
+    public void setUp() throws Exception {
40
+        instance = new Link(5, 10, "rarrarrarrar");
41
+    }
42
+
43
+    @Test
44
+    public void testGetStart() throws Exception {
45
+        assertEquals(5, instance.getStart());
46
+    }
47
+
48
+    @Test
49
+    public void testGetEnd() throws Exception {
50
+        assertEquals(10, instance.getEnd());
51
+    }
52
+
53
+    @Test
54
+    public void testGetContent() throws Exception {
55
+        assertEquals("rarrarrarrar", instance.getContent());
56
+    }
57
+
58
+    @Test
59
+    public void testEquals_Equals() throws Exception {
60
+        assertEquals(new Link(5, 10, "rarrarrarrar"), instance);
61
+    }
62
+
63
+    @Test
64
+    public void testEquals_NotEquals() throws Exception {
65
+        assertNotEquals(new Link(1, 5, "rarrarrarrar"), instance);
66
+    }
67
+
68
+    @Test
69
+    public void testEquals_DifferentType() throws Exception {
70
+        assertNotEquals("RAR", instance);
71
+    }
72
+}

Loading…
Cancel
Save