    1   /*
    2    * Copyright (c) 2003
    3    * Information Desire GmbH
    4    * All rights reserved.
    5    */
    6   package com.infodesire.infobit;
    7
    8   import com.infodesire.infobit.data.Acl;
    9   import com.infodesire.infobit.data.Infobit;
    10
    11  import com.infodesire.infobit.external.InfobitExporter;
    12  import com.infodesire.infobit.external.InfobitImporter;
    13
    14  import com.infodesire.infobit.external.impl.ImporterImpl;
    15  // import com.infodesire.infobit.external.impl.VelocityExporter;
    16  import com.infodesire.infobit.external.impl.SimpleExporter;
    17
    18  import junit.framework.TestCase;
    19  import junit.framework.TestSuite;
    20
    21  import org.apache.commons.logging.Log;
    22  import org.apache.commons.logging.LogFactory;
    23
    24  import java.io.BufferedReader;
    25  import java.io.IOException;
    26  import java.io.InputStream;
    27  import java.io.InputStreamReader;
    28  import java.io.Reader;
    29  import java.io.StringReader;
    30  import java.io.StringWriter;
    31
    32  import java.util.ArrayList;
    33  import java.util.Collection;
    34  import java.util.HashMap;
    35  import java.util.HashSet;
    36  import java.util.List;
    37  import java.util.Map;
    38  import java.util.Set;
    39
    40  /***
    41   * Implementation common to Test cases asserting the XML representation of
    42   * infobits
    43   *
    44   * @author    peter
    45   * @created   August 27, 2003
    46   * @version   $Revision: 1.1 $
    47   */
    48  public class XMLTestBase extends InfobitTestBase {
    49
    50      /***
    51       * Pool belonging to the fixture
    52       */
    53      protected InfobitPool _pool;
    54
    55      /***
    56       * Manager belonging to the fixture
    57       */
    58      protected InfobitManager _manager;
    59
    60      /***
    61       * Common ACL belonging to the fixture
    62       */
    63      protected Acl   _defaultAcl;
    64
    65      /***
    66       * The infobit exporter being part of the fixture
    67       */
    68      protected InfobitExporter _exporter;
    69
    70
    71      /***
    72       * Initializes the test cases.
    73       *
    74       * @param name  Test name
    75       */
    76      public XMLTestBase(String name) {
    77          super(name);
    78      }
    79
    80
    81      /***
    82       * Common test case fixture.
    83       *
    84       * @exception Exception  Description of Exception
    85       */
    86      public void setUp() throws Exception {
    87          super.setUp();
    88          _pool = _configuration.getPool("superuser_pool");
    89          _defaultAcl = _pool.getAclManager().createAcl("default");
    90          _manager = _pool.getInfobitManager();
    91
    92          //  _exporter = new VelocityExporter();
    93          _exporter = new SimpleExporter();
    94          _exporter.setManager(_manager);
    95          _exporter.init();
    96      }
    97
    98
    99      /***
    100      * Common teardown of test case fixtures.
    101      *
    102      * @exception Exception  Description of Exception
    103      */
    104     public void tearDown() throws Exception {
    105     }
    106
    107
    108
    109     /***
    110      * Compares a derived XML document with its expected content, ignoring
    111      * leading and trailing whitespace and date elements.
    112      *
    113      * @param derived        Source of the derived document to check
    114      * @param expected       Sourrce of the expected document, against which to
    115      *      compare <code>derived</code>
    116      * @exception Exception  Description of Exception
    117      */
    118     protected void checkDocument(BufferedReader derived,
    119         BufferedReader expected)
    120          throws Exception {
    121
    122         String ld;
    123         String le;
    124         boolean inDate = false;
    125
    126         for (; ; ) {
    127             ld = derived.readLine();
    128             while (ld != null && ld.trim().length() == 0) {
    129                 ld = derived.readLine();
    130             }
    131
    132             le = expected.readLine();
    133             while (le != null && le.trim().length() == 0) {
    134                 le = expected.readLine();
    135             }
    136
    137             if (le == null || ld == null) {
    138                 break;
    139             }
    140
    141             le = le.trim();
    142             ld = ld.trim();
    143
    144             //  Skip comparision of date elements
    145             if (!inDate) {
    146                 assertEquals(le, ld);
    147             }
    148
    149             if (inDate) {
    150                 inDate = !le.endsWith("/>");
    151             }
    152             else {
    153                 inDate = le.startsWith("<date");
    154             }
    155         }
    156
    157         assertTrue(le == null && ld == null);
    158     }
    159
    160 }

This page was automatically generated by Maven