/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.matchers;
import java.util.regex.Pattern;
import org.junit.Test;
import org.mockito.ArgumentMatcher;
import org.mockitoutil.TestBase;
import static junit.framework.TestCase.assertEquals;
public class MatchersToStringTest extends TestBase {
@Test
public void sameToStringWithString() {
assertEquals("same(\"X\")", new Same("X").toString());
}
@Test
public void nullToString() {
assertEquals("isNull()", Null.NULL.toString());
}
@Test
public void notNullToString() {
assertEquals("notNull()", NotNull.NOT_NULL.toString());
}
@Test
public void anyToString() {
assertEquals("<any>", Any.ANY.toString());
}
@Test
public void sameToStringWithChar() {
assertEquals("same('x')", new Same('x').toString());
}
@Test
public void sameToStringWithObject() {
Object o = new Object() {
@Override
public String toString() {
return "X";
}
};
assertEquals("same(X)", new Same(o).toString());
}
@Test
public void equalsToStringWithString() {
assertEquals("\"X\"", new Equals("X").toString());
}
@Test
public void equalsToStringWithChar() {
assertEquals("'x'", new Equals('x').toString());
}
@Test
public void equalsToStringWithObject() {
Object o = new Object() {
@Override
public String toString() {
return "X";
}
};
assertEquals("X", new Equals(o).toString());
}
@Test
public void orToString() {
ArgumentMatcher<?> m1=new Equals(1);
ArgumentMatcher<?> m2=new Equals(2);
assertEquals("or(1, 2)", new Or(m1,m2).toString());
}
@Test
public void notToString() {
assertEquals("not(1)", new Not(new Equals(1)).toString());
}
@Test
public void andToString() {
ArgumentMatcher<?> m1=new Equals(1);
ArgumentMatcher<?> m2=new Equals(2);
assertEquals("and(1, 2)", new And(m1,m2).toString());
}
@Test
public void startsWithToString() {
assertEquals("startsWith(\"AB\")", new StartsWith("AB").toString());
}
@Test
public void endsWithToString() {
assertEquals("endsWith(\"AB\")", new EndsWith("AB").toString());
}
@Test
public void containsToString() {
assertEquals("contains(\"AB\")", new Contains("AB").toString());
}
@Test
public void findToString() {
assertEquals("find(\"\\\\s+\")", new Find("\\s+").toString());
}
@Test
public void matchesToString() {
assertEquals("matches(\"\\\\s+\")", new Matches("\\s+").toString());
assertEquals("matches(\"\\\\s+\")", new Matches(Pattern.compile("\\s+")).toString());
}
}