1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 package org.codehaus.groovy.runtime;
48
49 import groovy.lang.Closure;
50 import groovy.util.GroovyTestCase;
51
52 import java.math.BigDecimal;
53 import java.math.BigInteger;
54 import java.net.URI;
55 import java.net.URL;
56 import java.util.ArrayList;
57 import java.util.HashMap;
58 import java.util.List;
59 import java.util.Map;
60
61 /***
62 * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
63 * @author Marc Guillemot
64 * @version $Revision: 1.8 $
65 */
66 public class DefaultGroovyMethodsTest extends GroovyTestCase {
67
68 public void testPrint() throws Exception {
69 Map map = new HashMap();
70 map.put("bob", "drools");
71 map.put("james", "geronimo");
72 List list = new ArrayList();
73 list.add(map);
74
75 /*** @todo fix this! */
76
77 }
78
79 public void testIncrementString() throws Exception {
80 String original = "z";
81 String answer = DefaultGroovyMethods.next(original);
82
83 System.out.println(answer);
84 assertTrue(answer.compareTo(original) > 0);
85 }
86
87 public void testDecrementString() throws Exception {
88 String original = "a";
89 String answer = DefaultGroovyMethods.previous(original);
90
91 System.out.println(answer);
92 assertTrue(InvokerHelper.compareLessThan(answer, original));
93 }
94
95 public void testToMethods() throws Exception {
96 Number n = new Long(7);
97
98 assertEquals(DefaultGroovyMethods.toInteger("1"), new Integer(1));
99 assertEquals(DefaultGroovyMethods.toInteger(n), new Integer(7));
100 assertEquals(DefaultGroovyMethods.toLong("1"), new Long(1));
101 assertEquals(DefaultGroovyMethods.toLong(n), new Long(7));
102 assertEquals(DefaultGroovyMethods.toFloat("1"), new Float(1));
103 assertEquals(DefaultGroovyMethods.toFloat(n), new Float(7));
104 assertEquals(DefaultGroovyMethods.toDouble("1"), new Double(1));
105 assertEquals(DefaultGroovyMethods.toDouble(n), new Double(7));
106 assertEquals(DefaultGroovyMethods.toBigInteger("1"), new BigInteger("1"));
107 assertEquals(DefaultGroovyMethods.toBigInteger(n), new BigInteger("7"));
108 assertEquals(DefaultGroovyMethods.toBigDecimal("1"), new BigDecimal("1"));
109 assertEquals(DefaultGroovyMethods.toBigDecimal(n), new BigDecimal("7"));
110 assertEquals(DefaultGroovyMethods.toURL("http://example.org/"), new URL("http://example.org/"));
111 assertEquals(DefaultGroovyMethods.toURI("http://example.org/"), new URI("http://example.org/"));
112 assertEquals(DefaultGroovyMethods.toBoolean("True"), Boolean.TRUE);
113 assertEquals(DefaultGroovyMethods.toBoolean("Y"), Boolean.TRUE);
114 assertEquals(DefaultGroovyMethods.toBoolean(" y "), Boolean.TRUE);
115 assertEquals(DefaultGroovyMethods.toBoolean("1"), Boolean.TRUE);
116 assertEquals(DefaultGroovyMethods.toBoolean("false"), Boolean.FALSE);
117 assertEquals(DefaultGroovyMethods.toBoolean("n"), Boolean.FALSE);
118 assertEquals(DefaultGroovyMethods.toBoolean("0"), Boolean.FALSE);
119 }
120
121
122 public void testDownto() {
123 final int[] count = new int[]{0};
124 final Closure closure = new Closure(null) {
125 public Object doCall(final Object params) {
126 count[0]++;
127 return null;
128 }
129 };
130
131 DefaultGroovyMethods.downto(new BigInteger("1"), new BigDecimal("0"), closure);
132 assertEquals(count[0], 2);
133
134 count[0] = 0;
135
136 DefaultGroovyMethods.downto(new BigInteger("1"), new BigDecimal("0.123"), closure);
137 assertEquals(count[0], 1);
138 }
139 }