aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/examples/CustomImplicitResolverTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/examples/CustomImplicitResolverTest.java')
-rw-r--r--src/test/java/examples/CustomImplicitResolverTest.java80
1 files changed, 39 insertions, 41 deletions
diff --git a/src/test/java/examples/CustomImplicitResolverTest.java b/src/test/java/examples/CustomImplicitResolverTest.java
index c5c03150..b7217e5e 100644
--- a/src/test/java/examples/CustomImplicitResolverTest.java
+++ b/src/test/java/examples/CustomImplicitResolverTest.java
@@ -1,26 +1,22 @@
/**
- * Copyright (c) 2008, http://www.snakeyaml.org
+ * Copyright (c) 2008, SnakeYAML
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
*/
package examples;
import java.math.BigDecimal;
import java.util.Map;
import java.util.regex.Pattern;
-
import junit.framework.TestCase;
-
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.AbstractConstruct;
import org.yaml.snakeyaml.constructor.SafeConstructor;
@@ -33,40 +29,42 @@ import org.yaml.snakeyaml.nodes.Tag;
* http://code.google.com/p/snakeyaml/issues/detail?id=75
*/
public class CustomImplicitResolverTest extends TestCase {
- private final Tag CUSTOM_TAG = new Tag("!BigDecimalDividedBy100");
- private final Pattern CUSTOM_PATTERN = Pattern.compile("\\d+%");
- @SuppressWarnings("unchecked")
- public void testImplicit() {
- Yaml yaml = new Yaml(new BigConstructor());
- yaml.addImplicitResolver(CUSTOM_TAG, CUSTOM_PATTERN, "-0123456789");
- Map<String, Object> obj = (Map<String, Object>) yaml.load("bar: 50%");
- assertEquals("0.5", obj.get("bar").toString());
- assertEquals(BigDecimal.class, obj.get("bar").getClass());
+ private final Tag CUSTOM_TAG = new Tag("!BigDecimalDividedBy100");
+ private final Pattern CUSTOM_PATTERN = Pattern.compile("\\d+%");
+
+ @SuppressWarnings("unchecked")
+ public void testImplicit() {
+ Yaml yaml = new Yaml(new BigConstructor());
+ yaml.addImplicitResolver(CUSTOM_TAG, CUSTOM_PATTERN, "-0123456789");
+ Map<String, Object> obj = yaml.load("bar: 50%");
+ assertEquals("0.5", obj.get("bar").toString());
+ assertEquals(BigDecimal.class, obj.get("bar").getClass());
+ }
+
+ public void testImplicitFailure() {
+ Yaml yaml = new Yaml(new BigConstructor());
+ yaml.addImplicitResolver(CUSTOM_TAG, Pattern.compile("\\d+%"), "-0123456789");
+ try {
+ yaml.load("bar: !!float 50%");
+ fail("Both implicit and explicit are present.");
+ } catch (NumberFormatException e) {
+ assertEquals("For input string: \"50%\"", e.getMessage());
}
+ }
+
+ class BigConstructor extends SafeConstructor {
- public void testImplicitFailure() {
- Yaml yaml = new Yaml(new BigConstructor());
- yaml.addImplicitResolver(CUSTOM_TAG, Pattern.compile("\\d+%"), "-0123456789");
- try {
- yaml.load("bar: !!float 50%");
- fail("Both implicit and explicit are present.");
- } catch (NumberFormatException e) {
- assertEquals("For input string: \"50%\"", e.getMessage());
- }
+ public BigConstructor() {
+ this.yamlConstructors.put(CUSTOM_TAG, new ConstructBig());
}
- class BigConstructor extends SafeConstructor {
- public BigConstructor() {
- this.yamlConstructors.put(CUSTOM_TAG, new ConstructBig());
- }
+ private class ConstructBig extends AbstractConstruct {
- private class ConstructBig extends AbstractConstruct {
- public Object construct(Node node) {
- String val = (String) constructScalar((ScalarNode) node);
- return new BigDecimal(val.substring(0, val.length() - 1))
- .divide(new BigDecimal(100));
- }
- }
+ public Object construct(Node node) {
+ String val = constructScalar((ScalarNode) node);
+ return new BigDecimal(val.substring(0, val.length() - 1)).divide(new BigDecimal(100));
+ }
}
+ }
}