1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.yaml.snakeyaml.constructor;
18
19 import junit.framework.TestCase;
20
21 import org.yaml.snakeyaml.Yaml;
22
23 public class SafeConstructorTest extends TestCase {
24
25 public void testConstructFloat() {
26 Yaml yaml = new Yaml();
27 assertEquals(3.1416, yaml.load("+3.1416"));
28 assertEquals(Double.POSITIVE_INFINITY, yaml.load("+.inf"));
29 assertEquals(Double.POSITIVE_INFINITY, yaml.load(".inf"));
30 assertEquals(Double.NEGATIVE_INFINITY, yaml.load("-.inf"));
31 }
32
33 public void testSafeConstruct() {
34 Yaml yaml = new Yaml(new SafeConstructor());
35 assertEquals(3.1416, yaml.load("+3.1416"));
36 }
37
38 public void testSafeConstructJavaBean() {
39 Yaml yaml = new Yaml(new SafeConstructor());
40 String data = "--- !!org.yaml.snakeyaml.constructor.Person\nfirstName: Andrey\nage: 99";
41 try {
42 yaml.load(data);
43 fail("JavaBeans cannot be created by SafeConstructor.");
44 } catch (ConstructorException e) {
45 assertTrue(e
46 .getMessage()
47 .contains(
48 "could not determine a constructor for the tag tag:yaml.org,2002:org.yaml.snakeyaml.constructor.Person"));
49 }
50 }
51 }