• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2007 Mockito contributors
3  * This program is made available under the terms of the MIT License.
4  */
5 
6 package org.mockito.internal.matchers;
7 
8 import org.junit.Test;
9 import org.mockitoutil.TestBase;
10 
11 import static org.junit.Assert.*;
12 
13 
14 public class EqualsTest extends TestBase {
15 
16     @Test
shouldBeEqual()17     public void shouldBeEqual() {
18         assertEquals(new Equals(null), new Equals(null));
19         assertEquals(new Equals(new Integer(2)), new Equals(new Integer(2)));
20         assertFalse(new Equals(null).equals(null));
21         assertFalse(new Equals(null).equals("Test"));
22         assertEquals(1, new Equals(null).hashCode());
23     }
24 
25     @Test
shouldArraysBeEqual()26     public void shouldArraysBeEqual() {
27         assertTrue(new Equals(new int[] {1, 2}).matches(new int[] {1, 2}));
28         assertFalse(new Equals(new Object[] {"1"}).matches(new Object[] {"1.0"}));
29     }
30 
31     @Test
shouldDescribeWithExtraTypeInfo()32     public void shouldDescribeWithExtraTypeInfo() throws Exception {
33         String descStr = new Equals(100).toStringWithType();
34 
35         assertEquals("(Integer) 100", descStr);
36     }
37 
38     @Test
shouldDescribeWithExtraTypeInfoOfLong()39     public void shouldDescribeWithExtraTypeInfoOfLong() throws Exception {
40         String descStr = new Equals(100L).toStringWithType();
41 
42         assertEquals("(Long) 100L", descStr);
43     }
44 
45     @Test
shouldDescribeWithTypeOfString()46     public void shouldDescribeWithTypeOfString() throws Exception {
47         String descStr = new Equals("x").toStringWithType();
48 
49         assertEquals("(String) \"x\"", descStr);
50     }
51 
52     @Test
shouldAppendQuotingForString()53     public void shouldAppendQuotingForString() {
54         String descStr = new Equals("str").toString();
55 
56         assertEquals("\"str\"", descStr);
57     }
58 
59     @Test
shouldAppendQuotingForChar()60     public void shouldAppendQuotingForChar() {
61         String descStr = new Equals('s').toString();
62 
63         assertEquals("'s'", descStr);
64     }
65 
66     @Test
shouldDescribeUsingToString()67     public void shouldDescribeUsingToString() {
68         String descStr = new Equals(100).toString();
69 
70         assertEquals("100", descStr);
71     }
72 
73     @Test
shouldDescribeNull()74     public void shouldDescribeNull() {
75         String descStr = new Equals(null).toString();
76 
77         assertEquals("null", descStr);
78     }
79 
80     @Test
shouldMatchTypes()81     public void shouldMatchTypes() throws Exception {
82         //when
83         ContainsExtraTypeInfo equals = new Equals(10);
84 
85         //then
86         assertTrue(equals.typeMatches(10));
87         assertFalse(equals.typeMatches(10L));
88     }
89 
90     @Test
shouldMatchTypesSafelyWhenActualIsNull()91     public void shouldMatchTypesSafelyWhenActualIsNull() throws Exception {
92         //when
93         ContainsExtraTypeInfo equals = new Equals(null);
94 
95         //then
96         assertFalse(equals.typeMatches(10));
97     }
98 
99     @Test
shouldMatchTypesSafelyWhenGivenIsNull()100     public void shouldMatchTypesSafelyWhenGivenIsNull() throws Exception {
101         //when
102         ContainsExtraTypeInfo equals = new Equals(10);
103 
104         //then
105         assertFalse(equals.typeMatches(null));
106     }
107 }
108