1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17   
18  package org.apache.commons.betwixt.io;
19  
20  import java.io.StringWriter;
21  
22  import junit.framework.TestCase;
23  
24  import org.apache.commons.betwixt.ElementDescriptor;
25  import org.xml.sax.helpers.AttributesImpl;
26  
27  /**
28   * Test for <code>BeanWriter</code>
29   * @author <a href='http://commons.apache.org/'>Apache Commons Team</a>
30   * @version $Revision: 561314 $
31   */
32  public class TestBeanWriter extends TestCase {
33  
34      public void testSetEndTagForEmptyElementTrue() throws Exception
35      {        
36          StringWriter out = new StringWriter();
37          BeanWriter writer = new BeanWriter(out);
38          writer.setEndTagForEmptyElement(true);
39          WriteContext context = new WriteContext() {
40  
41              public ElementDescriptor getCurrentDescriptor() {
42                  return null;
43              }
44              
45          };
46          writer.startElement(
47                  context, 
48                  null, 
49                  null, 
50                  "element", 
51                  new AttributesImpl());
52          writer.endElement(
53                  context,
54                  null, 
55                  null, 
56                  "element");
57           assertEquals("<element></element>" + writer.getEndOfLine(), out.getBuffer().toString());       
58      }
59  
60  
61      public void testSetEndTagForEmptyElementFalse() throws Exception
62      {        
63          StringWriter out = new StringWriter();
64          BeanWriter writer = new BeanWriter(out);
65          writer.setEndTagForEmptyElement(false);
66          WriteContext context = new WriteContext() {
67  
68              public ElementDescriptor getCurrentDescriptor() {
69                  return null;
70              }
71              
72          };
73          writer.startElement(
74                  context, 
75                  null, 
76                  null, 
77                  "element", 
78                  new AttributesImpl());
79          writer.endElement(
80                  context,
81                  null, 
82                  null, 
83                  "element");
84           assertEquals("<element/>" + writer.getEndOfLine(), out.getBuffer().toString());       
85      }
86  }