1*ac2a7c1bSSadaf Ebrahimi /** 2*ac2a7c1bSSadaf Ebrahimi * Copyright (c) 2008, SnakeYAML 3*ac2a7c1bSSadaf Ebrahimi * 4*ac2a7c1bSSadaf Ebrahimi * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5*ac2a7c1bSSadaf Ebrahimi * in compliance with the License. You may obtain a copy of the License at 6*ac2a7c1bSSadaf Ebrahimi * 7*ac2a7c1bSSadaf Ebrahimi * http://www.apache.org/licenses/LICENSE-2.0 8*ac2a7c1bSSadaf Ebrahimi * 9*ac2a7c1bSSadaf Ebrahimi * Unless required by applicable law or agreed to in writing, software distributed under the License 10*ac2a7c1bSSadaf Ebrahimi * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11*ac2a7c1bSSadaf Ebrahimi * or implied. See the License for the specific language governing permissions and limitations under 12*ac2a7c1bSSadaf Ebrahimi * the License. 13*ac2a7c1bSSadaf Ebrahimi */ 14*ac2a7c1bSSadaf Ebrahimi package examples; 15*ac2a7c1bSSadaf Ebrahimi 16*ac2a7c1bSSadaf Ebrahimi import java.util.List; 17*ac2a7c1bSSadaf Ebrahimi import java.util.Map; 18*ac2a7c1bSSadaf Ebrahimi import junit.framework.TestCase; 19*ac2a7c1bSSadaf Ebrahimi import org.yaml.snakeyaml.Util; 20*ac2a7c1bSSadaf Ebrahimi import org.yaml.snakeyaml.Yaml; 21*ac2a7c1bSSadaf Ebrahimi 22*ac2a7c1bSSadaf Ebrahimi public class AnyObjectExampleTest extends TestCase { 23*ac2a7c1bSSadaf Ebrahimi 24*ac2a7c1bSSadaf Ebrahimi @SuppressWarnings("unchecked") testLoad()25*ac2a7c1bSSadaf Ebrahimi public void testLoad() { 26*ac2a7c1bSSadaf Ebrahimi String doc = Util.getLocalResource("examples/any-object-example.yaml"); 27*ac2a7c1bSSadaf Ebrahimi Yaml yaml = new Yaml(); 28*ac2a7c1bSSadaf Ebrahimi Map<String, Object> object = yaml.load(doc); 29*ac2a7c1bSSadaf Ebrahimi assertEquals(6, object.size()); 30*ac2a7c1bSSadaf Ebrahimi assertEquals("[null, null]", object.get("none").toString()); 31*ac2a7c1bSSadaf Ebrahimi List<?> list1 = (List<?>) object.get("none"); 32*ac2a7c1bSSadaf Ebrahimi assertEquals(2, list1.size()); 33*ac2a7c1bSSadaf Ebrahimi for (Object object2 : list1) { 34*ac2a7c1bSSadaf Ebrahimi assertNull(object2); 35*ac2a7c1bSSadaf Ebrahimi } 36*ac2a7c1bSSadaf Ebrahimi // 37*ac2a7c1bSSadaf Ebrahimi assertEquals("[true, false, true, false]", object.get("bool").toString()); 38*ac2a7c1bSSadaf Ebrahimi assertEquals(4, ((List<?>) object.get("bool")).size()); 39*ac2a7c1bSSadaf Ebrahimi // 40*ac2a7c1bSSadaf Ebrahimi assertEquals(Integer.valueOf(42), object.get("int")); 41*ac2a7c1bSSadaf Ebrahimi assertEquals(Double.valueOf(3.14159), object.get("float")); 42*ac2a7c1bSSadaf Ebrahimi // 43*ac2a7c1bSSadaf Ebrahimi assertEquals("[LITE, RES_ACID, SUS_DEXT]", object.get("list").toString()); 44*ac2a7c1bSSadaf Ebrahimi List<?> list2 = (List<?>) object.get("list"); 45*ac2a7c1bSSadaf Ebrahimi assertEquals(3, list2.size()); 46*ac2a7c1bSSadaf Ebrahimi for (Object object2 : list2) { 47*ac2a7c1bSSadaf Ebrahimi assertEquals(object2.toString(), object2.toString().toUpperCase()); 48*ac2a7c1bSSadaf Ebrahimi } 49*ac2a7c1bSSadaf Ebrahimi // 50*ac2a7c1bSSadaf Ebrahimi assertEquals("{hp=13, sp=5}", object.get("dict").toString()); 51*ac2a7c1bSSadaf Ebrahimi Map<String, Integer> map = (Map<String, Integer>) object.get("dict"); 52*ac2a7c1bSSadaf Ebrahimi assertEquals(2, map.keySet().size()); 53*ac2a7c1bSSadaf Ebrahimi assertEquals(Integer.valueOf(13), map.get("hp")); 54*ac2a7c1bSSadaf Ebrahimi assertEquals(Integer.valueOf(5), map.get("sp")); 55*ac2a7c1bSSadaf Ebrahimi } 56*ac2a7c1bSSadaf Ebrahimi } 57