add an example for custom int resolver
diff --git a/src/test/java/examples/resolver/CustomIntResolver.java b/src/test/java/examples/resolver/CustomIntResolver.java
new file mode 100644
index 0000000..9a15fda
--- /dev/null
+++ b/src/test/java/examples/resolver/CustomIntResolver.java
@@ -0,0 +1,40 @@
+/**

+ * Copyright (c) 2008-2010 Andrey Somov

+ *

+ * 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

+ *

+ * 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.resolver;

+

+import java.util.regex.Pattern;

+

+import org.yaml.snakeyaml.nodes.Tag;

+import org.yaml.snakeyaml.resolver.Resolver;

+

+public class CustomIntResolver extends Resolver {

+    public static final Pattern PURE_INT = Pattern.compile("^[0-9]+$");

+

+    /*

+     * do not resolve int if it has underscores

+     */

+    protected void addImplicitResolvers() {

+        addImplicitResolver(Tag.BOOL, BOOL, "yYnNtTfFoO");

+        addImplicitResolver(Tag.FLOAT, FLOAT, "-+0123456789.");

+        // define simple int pattern

+        addImplicitResolver(Tag.INT, PURE_INT, "0123456789");

+        addImplicitResolver(Tag.MERGE, MERGE, "<");

+        addImplicitResolver(Tag.NULL, NULL, "~nN\0");

+        addImplicitResolver(Tag.NULL, EMPTY, null);

+        addImplicitResolver(Tag.TIMESTAMP, TIMESTAMP, "0123456789");

+        addImplicitResolver(Tag.VALUE, VALUE, "=");

+    }

+}

diff --git a/src/test/java/examples/resolver/CustomResolverTest.java b/src/test/java/examples/resolver/CustomResolverTest.java
index 868dd54..3211ee3 100644
--- a/src/test/java/examples/resolver/CustomResolverTest.java
+++ b/src/test/java/examples/resolver/CustomResolverTest.java
@@ -51,4 +51,18 @@
         assertTrue(map2.toString(), map2.containsKey(new Double(1.0)));

     }

 

+    public void testResolverSimpleInt() {

+        Map<Object, Object> map = new HashMap<Object, Object>();

+        map.put("run_ID", "2010_03_31_101");

+        Yaml yaml = new Yaml(new Loader(), new Dumper(new DumperOptions()), new CustomIntResolver());

+        String output = yaml.dump(map);

+        // load

+        assertEquals("{run_ID: 2010_03_31_101}\n", output);

+        Map<Object, Object> parsed = (Map<Object, Object>) yaml.load(output);

+        assertEquals(map, parsed);

+        // check standard resolver

+        assertEquals("Standard resolver should quote the string", "{run_ID: '2010_03_31_101'}\n",

+                new Yaml().dump(map));

+    }

+

 }