12637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin/* 22637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin * Copyright (c) 2007 Mockito contributors 32637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin * This program is made available under the terms of the MIT License. 42637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin */ 52637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 62637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinpackage org.mockito.internal.matchers; 72637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 82637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport org.junit.Test; 92637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport org.mockitoutil.TestBase; 102637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 112637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport java.math.BigDecimal; 122637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 132637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport static junit.framework.TestCase.assertEquals; 142637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinimport static junit.framework.TestCase.assertTrue; 152637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 162637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffinpublic class ComparableMatchersTest extends TestBase { 172637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 182637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 192637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void testLessThan() { 202637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin test(new LessThan<String>("b"), true, false, false, "lt"); 212637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 222637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 232637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 242637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void testGreaterThan() { 252637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin test(new GreaterThan<String>("b"), false, true, false, "gt"); 262637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 272637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 282637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 292637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void testLessOrEqual() { 302637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin test(new LessOrEqual<String>("b"), true, false, true, "leq"); 312637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 322637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 332637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 342637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void testGreaterOrEqual() { 352637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin test(new GreaterOrEqual<String>("b"), false, true, true, "geq"); 362637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 372637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 382637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin @Test 392637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin public void testCompareEqual() { 402637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin test(new CompareEqual<String>("b"), false, false, true, "cmpEq"); 412637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 422637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin // Make sure it works when equals provide a different result than compare 432637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin CompareEqual<BigDecimal> cmpEq = new CompareEqual<BigDecimal>(new BigDecimal("5.00")); 442637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertTrue(cmpEq.matches(new BigDecimal("5"))); 452637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 462637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 472637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin private void test(CompareTo<String> compareTo, boolean lower, boolean higher, 482637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin boolean equals, String name) { 492637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 502637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals(lower, compareTo.matches("a")); 512637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals(equals, compareTo.matches("b")); 522637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals(higher, compareTo.matches("c")); 532637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin 542637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin assertEquals(name + "(b)", compareTo.toString()); 552637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin } 562637d96c202372854a7c71466ddcc6e90fc4fc53Paul Duffin} 57