1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.rules.support;
17
18 import junit.framework.TestCase;
19
20
21
22
23
24
25 public class NumberComparatorTests extends TestCase {
26
27 public void testCompareIntegers() {
28 NumberComparator comparator = NumberComparator.INSTANCE;
29
30 assertEquals(0, comparator.compare(Integer.valueOf(1), Integer.valueOf(1)));
31 assertEquals(1, comparator.compare(Integer.valueOf(10), Integer.valueOf(1)));
32 assertEquals(-1, comparator.compare(Integer.valueOf(1), Integer.valueOf(10)));
33 }
34
35 public void testCompareLongs() {
36 NumberComparator comparator = NumberComparator.INSTANCE;
37
38 assertEquals(0, comparator.compare(Long.valueOf(1l), Long.valueOf(1l)));
39 assertEquals(1, comparator.compare(Long.valueOf(10l), Long.valueOf(1l)));
40 assertEquals(-1, comparator.compare(Long.valueOf(1l), Long.valueOf(10l)));
41 }
42
43 public void testCompareFloats() {
44 NumberComparator comparator = NumberComparator.INSTANCE;
45
46 assertEquals(0, comparator.compare(Float.valueOf(1.5f), Float.valueOf(1.5f)));
47 assertEquals(1, comparator.compare(Float.valueOf(10.22f), Float.valueOf(1.5f)));
48 assertEquals(-1, comparator.compare(Float.valueOf(1.5f), Float.valueOf(10.22f)));
49 }
50
51 public void testCompareDoubles() {
52 NumberComparator comparator = NumberComparator.INSTANCE;
53
54 assertEquals(0, comparator.compare(Double.valueOf(1.5), Double.valueOf(1.5)));
55 assertEquals(1, comparator.compare(Double.valueOf(10.22), Double.valueOf(1.5)));
56 assertEquals(-1, comparator.compare(Double.valueOf(1.5), Double.valueOf(10.22)));
57 }
58
59 public void testCompareDifferentTypesEqual() {
60 NumberComparator comparator = NumberComparator.INSTANCE;
61
62 assertEquals(0, comparator.compare(Double.valueOf(1.0), Integer.valueOf(1)));
63 assertEquals(0, comparator.compare(Double.valueOf(1.0), Long.valueOf(1l)));
64 assertEquals(0, comparator.compare(Double.valueOf(1.0), Float.valueOf(1.0f)));
65
66 assertEquals(0, comparator.compare(Integer.valueOf(1), Long.valueOf(1l)));
67 assertEquals(0, comparator.compare(Integer.valueOf(1), Float.valueOf(1.0f)));
68 assertEquals(0, comparator.compare(Integer.valueOf(1), Double.valueOf(1.0)));
69
70 assertEquals(0, comparator.compare(Long.valueOf(1l), Integer.valueOf(1)));
71 assertEquals(0, comparator.compare(Long.valueOf(1l), Float.valueOf(1.0f)));
72 assertEquals(0, comparator.compare(Long.valueOf(1l), Double.valueOf(1.0)));
73
74 assertEquals(0, comparator.compare(Float.valueOf(1.0f), Integer.valueOf(1)));
75 assertEquals(0, comparator.compare(Float.valueOf(1.0f), Long.valueOf(1l)));
76 assertEquals(0, comparator.compare(Float.valueOf(1.0f), Double.valueOf(1.0)));
77 }
78
79 public void testCompareDifferentTypesSmaller() {
80 NumberComparator comparator = NumberComparator.INSTANCE;
81
82 assertEquals(-1, comparator.compare(Double.valueOf(1.0), Integer.valueOf(10)));
83 assertEquals(-1, comparator.compare(Double.valueOf(1.0), Long.valueOf(10l)));
84 assertEquals(-1, comparator.compare(Double.valueOf(1.0), Float.valueOf(10.0f)));
85
86 assertEquals(-1, comparator.compare(Integer.valueOf(1), Long.valueOf(10l)));
87 assertEquals(-1, comparator.compare(Integer.valueOf(1), Float.valueOf(10.0f)));
88 assertEquals(-1, comparator.compare(Integer.valueOf(1), Double.valueOf(10.0)));
89
90 assertEquals(-1, comparator.compare(Long.valueOf(1l), Integer.valueOf(10)));
91 assertEquals(-1, comparator.compare(Long.valueOf(1l), Float.valueOf(10.0f)));
92 assertEquals(-1, comparator.compare(Long.valueOf(1l), Double.valueOf(10.0)));
93
94 assertEquals(-1, comparator.compare(Float.valueOf(1.0f), Integer.valueOf(10)));
95 assertEquals(-1, comparator.compare(Float.valueOf(1.0f), Long.valueOf(10l)));
96 assertEquals(-1, comparator.compare(Float.valueOf(1.0f), Double.valueOf(10.0)));
97 }
98
99 public void testCompareDifferentTypesLarger() {
100 NumberComparator comparator = NumberComparator.INSTANCE;
101
102 assertEquals(1, comparator.compare(Double.valueOf(10.0), Integer.valueOf(1)));
103 assertEquals(1, comparator.compare(Double.valueOf(10.0), Long.valueOf(1l)));
104 assertEquals(1, comparator.compare(Double.valueOf(10.0), Float.valueOf(1.0f)));
105
106 assertEquals(1, comparator.compare(Integer.valueOf(10), Long.valueOf(1l)));
107 assertEquals(1, comparator.compare(Integer.valueOf(10), Float.valueOf(1.0f)));
108 assertEquals(1, comparator.compare(Integer.valueOf(10), Double.valueOf(1.0)));
109
110 assertEquals(1, comparator.compare(Long.valueOf(10l), Integer.valueOf(1)));
111 assertEquals(1, comparator.compare(Long.valueOf(10l), Float.valueOf(1.0f)));
112 assertEquals(1, comparator.compare(Long.valueOf(10l), Double.valueOf(1.0)));
113
114 assertEquals(1, comparator.compare(Float.valueOf(10.0f), Integer.valueOf(1)));
115 assertEquals(1, comparator.compare(Float.valueOf(10.0f), Long.valueOf(1l)));
116 assertEquals(1, comparator.compare(Float.valueOf(10.0f), Double.valueOf(1.0)));
117 }
118
119 }