Home | History | Annotate | Download | only in snakeyaml
      1 /**
      2  * Copyright (c) 2008, http://www.snakeyaml.org
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *     http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 package org.yaml.snakeyaml;
     17 
     18 import java.util.List;
     19 import java.util.Map;
     20 
     21 import junit.framework.TestCase;
     22 
     23 /**
     24  * Test Chapter 2.2 from the YAML specification
     25  *
     26  * @see <a href="http://yaml.org/spec/1.1/"></a>
     27  */
     28 public class Chapter2_2Test extends TestCase {
     29 
     30     @SuppressWarnings("unchecked")
     31     public void testExample_2_7() {
     32         YamlStream resource = new YamlStream("example2_7.yaml");
     33         List<Object> list = (List<Object>) resource.getNativeData();
     34         assertEquals(2, list.size());
     35         List<String> list1 = (List<String>) list.get(0);
     36         assertEquals(3, list1.size());
     37         assertEquals("Mark McGwire", list1.get(0));
     38         assertEquals("Sammy Sosa", list1.get(1));
     39         assertEquals("Ken Griffey", list1.get(2));
     40         List<String> list2 = (List<String>) list.get(1);
     41         assertEquals(2, list2.size());
     42         assertEquals("Chicago Cubs", list2.get(0));
     43         assertEquals("St Louis Cardinals", list2.get(1));
     44     }
     45 
     46     @SuppressWarnings("unchecked")
     47     public void testExample_2_8() {
     48         YamlStream resource = new YamlStream("example2_8.yaml");
     49         List<Object> list = (List<Object>) resource.getNativeData();
     50         assertEquals(2, list.size());
     51         Map<String, String> map1 = (Map<String, String>) list.get(0);
     52         assertEquals(3, map1.size());
     53         assertEquals(new Integer(72200), map1.get("time"));
     54         assertEquals("Sammy Sosa", map1.get("player"));
     55         assertEquals("strike (miss)", map1.get("action"));
     56         Map<String, String> map2 = (Map<String, String>) list.get(1);
     57         assertEquals(3, map2.size());
     58         assertEquals(new Integer(72227), map2.get("time"));
     59         assertEquals("Sammy Sosa", map2.get("player"));
     60         assertEquals("grand slam", map2.get("action"));
     61     }
     62 
     63     @SuppressWarnings("unchecked")
     64     public void testExample_2_9() {
     65         YamlDocument document = new YamlDocument("example2_9.yaml");
     66         Map<String, Object> map = (Map<String, Object>) document.getNativeData();
     67         assertEquals(map.toString(), 2, map.size());
     68         List<String> list1 = (List<String>) map.get("hr");
     69         assertEquals(2, list1.size());
     70         assertEquals("Mark McGwire", list1.get(0));
     71         assertEquals("Sammy Sosa", list1.get(1));
     72         List<String> list2 = (List<String>) map.get("rbi");
     73         assertEquals(2, list2.size());
     74         assertEquals("Sammy Sosa", list2.get(0));
     75         assertEquals("Ken Griffey", list2.get(1));
     76     }
     77 
     78     @SuppressWarnings("unchecked")
     79     public void testExample_2_10() {
     80         YamlDocument document = new YamlDocument("example2_10.yaml");
     81         Map<String, Object> map = (Map<String, Object>) document.getNativeData();
     82         assertEquals("Examples 2.9 and 2.10 must be identical.",
     83                 new YamlDocument("example2_9.yaml").getNativeData(), map);
     84     }
     85 
     86     @SuppressWarnings("unchecked")
     87     public void testExample_2_11() {
     88         YamlDocument document = new YamlDocument("example2_11.yaml");
     89         Map<Object, Object> map = (Map<Object, Object>) document.getNativeData();
     90         assertEquals(2, map.size());
     91         for (Object key : map.keySet()) {
     92             List<String> list = (List<String>) key;
     93             assertEquals(2, list.size());
     94         }
     95     }
     96 
     97     public void testExample_2_12() {
     98         YamlDocument document = new YamlDocument("example2_12.yaml");
     99         @SuppressWarnings("unchecked")
    100         List<Map<Object, Object>> list = (List<Map<Object, Object>>) document.getNativeData();
    101         assertEquals(3, list.size());
    102         Map<Object, Object> map1 = (Map<Object, Object>) list.get(0);
    103         assertEquals(2, map1.size());
    104         assertEquals("Super Hoop", map1.get("item"));
    105         Map<Object, Object> map2 = (Map<Object, Object>) list.get(1);
    106         assertEquals(2, map2.size());
    107         assertEquals("Basketball", map2.get("item"));
    108         Map<Object, Object> map3 = (Map<Object, Object>) list.get(2);
    109         assertEquals(2, map3.size());
    110         assertEquals("Big Shoes", map3.get("item"));
    111     }
    112 }
    113