View Javadoc

1   /**
2    * Copyright (c) 2008-2012, 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.extensions.compactnotation;
17  
18  import junit.framework.TestCase;
19  
20  public class CompactConstructorTest extends TestCase {
21  
22      public void testNoCompactData() {
23          CompactConstructor flow = new CompactConstructor();
24          assertNull(flow.getCompactData("scalar"));
25          assertNull(flow.getCompactData("123"));
26          assertNull(flow.getCompactData("(name=frame,title=My Frame)"));
27          assertNull(flow.getCompactData("JFrame name=frame,title=My Frame)"));
28          assertNull(flow.getCompactData("JFrame name=frame,title=My Frame"));
29          assertNull(flow.getCompactData("JFrame(name=frame,title=My Frame"));
30          assertNull(flow.getCompactData("JFrame(name=frame,title=My Frame)b"));
31          assertNull(flow.getCompactData("JFrame(name=frame,title=My Frame) "));
32          assertNull(flow.getCompactData("JFrame(name=)"));
33          assertNull(flow.getCompactData("JFrame(=name)"));
34      }
35  
36      public void testGetCompactData1() {
37          CompactConstructor flow = new CompactConstructor();
38          CompactData data = flow.getCompactData("JFrame(name=frame)");
39          assertNotNull(data);
40          assertEquals("JFrame", data.getPrefix());
41          assertEquals(1, data.getProperties().size());
42          assertEquals("frame", data.getProperties().get("name"));
43      }
44  
45      public void testGetCompactData2() {
46          CompactConstructor flow = new CompactConstructor();
47          CompactData data = flow.getCompactData("Frame(name=frame,title=My Frame)");
48          assertNotNull(data);
49          assertEquals("Frame", data.getPrefix());
50          assertEquals(2, data.getProperties().size());
51          assertEquals("frame", data.getProperties().get("name"));
52          assertEquals("My Frame", data.getProperties().get("title"));
53  
54          assertNotNull(flow.getCompactData("JFrame ( name = frame , title = My Frame )"));
55      }
56  
57      public void testGetCompactData3() {
58          CompactConstructor flow = new CompactConstructor();
59          CompactData data = flow
60                  .getCompactData("JFrame ( name = frame , title = My Frame, number= 123 )");
61          assertNotNull(data);
62          assertEquals("JFrame", data.getPrefix());
63          assertEquals(3, data.getProperties().size());
64          assertEquals("frame", data.getProperties().get("name"));
65          assertEquals("My Frame", data.getProperties().get("title"));
66          assertEquals("123", data.getProperties().get("number"));
67      }
68  
69      public void testGetCompactData4() {
70          CompactConstructor flow = new CompactConstructor();
71          CompactData data = flow.getCompactData("JFrame(title)");
72          assertNotNull(data);
73          assertEquals("JFrame", data.getPrefix());
74          assertEquals(0, data.getProperties().size());
75          assertEquals(1, data.getArguments().size());
76          assertEquals("title", data.getArguments().get(0));
77      }
78  
79      public void testGetCompactData5() {
80          CompactConstructor flow = new CompactConstructor();
81          CompactData data = flow.getCompactData("JFrame(id123, title, name=foo, alignment=center)");
82          assertNotNull(data);
83          assertEquals("JFrame", data.getPrefix());
84          assertEquals(2, data.getProperties().size());
85          assertEquals(2, data.getArguments().size());
86          assertEquals("id123", data.getArguments().get(0));
87          assertEquals("title", data.getArguments().get(1));
88      }
89  
90      public void testGetCompactData6() {
91          CompactConstructor flow = new CompactConstructor();
92          CompactData data = flow.getCompactData("JFrame()");
93          assertNotNull(data);
94          assertEquals("JFrame", data.getPrefix());
95          assertEquals(0, data.getProperties().size());
96          assertEquals(0, data.getArguments().size());
97      }
98  
99      public void testGetCompactData7() {
100         CompactConstructor flow = new CompactConstructor();
101         CompactData data = flow.getCompactData("package.Container(name=parent, id=123)");
102         assertNotNull(data);
103         assertEquals("package.Container", data.getPrefix());
104         assertEquals(2, data.getProperties().size());
105         assertEquals(0, data.getArguments().size());
106     }
107 
108     public void testCompactDataToString() {
109         CompactData data = new CompactData("foo");
110         assertEquals("CompactData: foo {}", data.toString());
111     }
112 }