| package org.hamcrest.core; |
| |
| import org.hamcrest.Matcher; |
| import org.junit.Test; |
| |
| import static org.hamcrest.AbstractMatcherTest.*; |
| import static org.hamcrest.core.IsSame.sameInstance; |
| import static org.hamcrest.core.IsSame.theInstance; |
| |
| |
| public final class IsSameTest { |
| |
| @Test public void |
| copesWithNullsAndUnknownTypes() { |
| Matcher<String> matcher = sameInstance("irrelevant"); |
| |
| assertNullSafe(matcher); |
| assertUnknownTypeSafe(matcher); |
| } |
| |
| @Test public void |
| evaluatesToTrueIfArgumentIsReferenceToASpecifiedObject() { |
| Object o1 = new Object(); |
| Matcher<Object> matcher = sameInstance(o1); |
| |
| assertMatches(matcher, o1); |
| assertDoesNotMatch(matcher, new Object()); |
| } |
| |
| @Test public void |
| alternativeFactoryMethodAlsoMatchesOnlyIfArgumentIsReferenceToASpecifiedObject() { |
| Object o1 = new Object(); |
| Matcher<Object> matcher = theInstance(o1); |
| |
| assertMatches(matcher, o1); |
| assertDoesNotMatch(matcher, new Object()); |
| } |
| |
| @Test public void |
| returnsReadableDescriptionFromToString() { |
| assertDescription("sameInstance(\"ARG\")", sameInstance("ARG")); |
| } |
| |
| @Test public void |
| returnsReadableDescriptionFromToStringWhenInitialisedWithNull() { |
| assertDescription("sameInstance(null)", sameInstance(null)); |
| } |
| } |