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 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 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 32 public void shouldDescribeWithExtraTypeInfo() throws Exception { 33 String descStr = new Equals(100).toStringWithType(); 34 35 assertEquals("(Integer) 100", descStr); 36 } 37 38 @Test 39 public void shouldDescribeWithExtraTypeInfoOfLong() throws Exception { 40 String descStr = new Equals(100L).toStringWithType(); 41 42 assertEquals("(Long) 100L", descStr); 43 } 44 45 @Test 46 public void shouldDescribeWithTypeOfString() throws Exception { 47 String descStr = new Equals("x").toStringWithType(); 48 49 assertEquals("(String) \"x\"", descStr); 50 } 51 52 @Test 53 public void shouldAppendQuotingForString() { 54 String descStr = new Equals("str").toString(); 55 56 assertEquals("\"str\"", descStr); 57 } 58 59 @Test 60 public void shouldAppendQuotingForChar() { 61 String descStr = new Equals('s').toString(); 62 63 assertEquals("'s'", descStr); 64 } 65 66 @Test 67 public void shouldDescribeUsingToString() { 68 String descStr = new Equals(100).toString(); 69 70 assertEquals("100", descStr); 71 } 72 73 @Test 74 public void shouldDescribeNull() { 75 String descStr = new Equals(null).toString(); 76 77 assertEquals("null", descStr); 78 } 79 80 @Test 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 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 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