1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.commons.validator;
23
24 import java.io.IOException;
25
26 import org.xml.sax.SAXException;
27
28 /***
29 * Abstracts number unit tests methods.
30 */
31 abstract public class TestNumber extends TestCommon {
32
33 /***
34 * The key used to retrieve the set of validation
35 * rules from the xml file.
36 */
37 protected String FORM_KEY;
38
39 /***
40 * The key used to retrieve the validator action.
41 */
42 protected String ACTION;
43
44
45 public TestNumber(String name) {
46 super(name);
47 }
48
49 /***
50 * Load <code>ValidatorResources</code> from
51 * validator-numeric.xml.
52 */
53 protected void setUp() throws IOException, SAXException {
54
55 loadResources("TestNumber-config.xml");
56 }
57
58 protected void tearDown() {
59 }
60
61 /***
62 * Tests the number validation.
63 */
64 public void testNumber() throws ValidatorException {
65
66 ValueBean info = new ValueBean();
67 info.setValue("0");
68 valueTest(info, true);
69 }
70
71 /***
72 * Tests the float validation failure.
73 */
74 public void testNumberFailure() throws ValidatorException {
75
76 ValueBean info = new ValueBean();
77 valueTest(info, false);
78 }
79
80 /***
81 * Utlity class to run a test on a value.
82 *
83 * @param info Value to run test on.
84 * @param passed Whether or not the test is expected to pass.
85 */
86 protected void valueTest(Object info, boolean passed) throws ValidatorException {
87
88
89 Validator validator = new Validator(resources, FORM_KEY);
90
91
92 validator.setParameter(Validator.BEAN_PARAM, info);
93
94
95 ValidatorResults results = null;
96
97
98
99
100
101 results = validator.validate();
102
103 assertNotNull("Results are null.", results);
104
105 ValidatorResult result = results.getValidatorResult("value");
106
107 assertNotNull(ACTION + " value ValidatorResult should not be null.", result);
108 assertTrue(ACTION + " value ValidatorResult should contain the '" + ACTION + "' action.", result.containsAction(ACTION));
109 assertTrue(ACTION + " value ValidatorResult for the '" + ACTION + "' action should have " + (passed ? "passed" : "failed") + ".", (passed ? result.isValid(ACTION) : !result.isValid(ACTION)));
110 }
111
112
113 }