1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.functor.core.comparator;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertFalse;
21
22 import java.util.Collections;
23
24 import org.apache.commons.functor.BaseFunctorTest;
25 import org.apache.commons.functor.Function;
26 import org.junit.Test;
27
28
29
30
31 public class TestMax extends BaseFunctorTest {
32
33
34
35
36 @Override
37 protected Object makeFunctor() {
38 return Max.instance();
39 }
40
41 private Integer MIN = Integer.valueOf(Integer.MIN_VALUE);
42 private Integer MINUS_TWO = Integer.valueOf(-2);
43 private Integer ZERO = Integer.valueOf(0);
44 private Integer ONE = Integer.valueOf(1);
45 private Integer MAX = Integer.valueOf(Integer.MAX_VALUE);
46
47
48
49 @Test
50 public void testEvaluate() {
51 Max<Integer> f = Max.instance();
52 assertEquals(ONE,f.evaluate(ONE,ONE));
53 assertEquals(ONE,f.evaluate(ZERO,ONE));
54 assertEquals(ONE,f.evaluate(ONE,ZERO));
55 assertEquals(MAX,f.evaluate(ONE,MAX));
56 assertEquals(MAX,f.evaluate(MIN,MAX));
57 assertEquals(MINUS_TWO,f.evaluate(MIN,MINUS_TWO));
58 }
59
60 @Test
61 public void testEquals() {
62 Max<Comparable<?>> f = Max.instance();
63 assertObjectsAreEqual(f,f);
64 assertObjectsAreEqual(f,Max.instance());
65 assertObjectsAreEqual(f,new Max<Integer>(ComparableComparator.<Integer>instance()));
66 assertObjectsAreNotEqual(f,new Max<Comparable<?>>(Collections.<Comparable<?>>reverseOrder()));
67 assertFalse(f.equals(null));
68 }
69
70 @Test
71 public void testFunctionMin() {
72 Function<Integer, Integer> max = Max.instance(ONE);
73 assertEquals(ONE,max.evaluate(ZERO));
74 }
75 }