blob: 4694b79a2b74f13a80e80611937dad0f38f00860 [file] [log] [blame]
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.matchers;
import org.junit.Test;
import org.mockitoutil.TestBase;
import java.math.BigDecimal;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertTrue;
public class ComparableMatchersTest extends TestBase {
@Test
public void testLessThan() {
test(new LessThan<String>("b"), true, false, false, "lt");
}
@Test
public void testGreaterThan() {
test(new GreaterThan<String>("b"), false, true, false, "gt");
}
@Test
public void testLessOrEqual() {
test(new LessOrEqual<String>("b"), true, false, true, "leq");
}
@Test
public void testGreaterOrEqual() {
test(new GreaterOrEqual<String>("b"), false, true, true, "geq");
}
@Test
public void testCompareEqual() {
test(new CompareEqual<String>("b"), false, false, true, "cmpEq");
// Make sure it works when equals provide a different result than compare
CompareEqual<BigDecimal> cmpEq = new CompareEqual<BigDecimal>(new BigDecimal("5.00"));
assertTrue(cmpEq.matches(new BigDecimal("5")));
}
private void test(CompareTo<String> compareTo, boolean lower, boolean higher,
boolean equals, String name) {
assertEquals(lower, compareTo.matches("a"));
assertEquals(equals, compareTo.matches("b"));
assertEquals(higher, compareTo.matches("c"));
assertEquals(name + "(b)", compareTo.toString());
}
}