View Javadoc
1   /*
2    *  jDTAUS Banking Test Suite
3    *  Copyright (C) 2005 Christian Schulte
4    *  <cs@schulte.it>
5    *
6    *  This library is free software; you can redistribute it and/or
7    *  modify it under the terms of the GNU Lesser General Public
8    *  License as published by the Free Software Foundation; either
9    *  version 2.1 of the License, or any later version.
10   *
11   *  This library is distributed in the hope that it will be useful,
12   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   *  Lesser General Public License for more details.
15   *
16   *  You should have received a copy of the GNU Lesser General Public
17   *  License along with this library; if not, write to the Free Software
18   *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19   *
20   */
21  package org.jdtaus.banking.it;
22  
23  import junit.framework.Assert;
24  import junit.framework.TestCase;
25  import org.jdtaus.banking.Bankleitzahl;
26  import org.jdtaus.banking.BankleitzahlExpirationException;
27  import org.jdtaus.banking.BankleitzahlenVerzeichnis;
28  
29  /**
30   * Testcase for {@code BankleitzahlenVerzeichnis} implementations.
31   *
32   * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
33   * @version $JDTAUS: BankleitzahlenVerzeichnisTest.java 8723 2012-10-04 20:09:53Z schulte $
34   */
35  public class BankleitzahlenVerzeichnisTest extends TestCase
36  {
37  
38      /** Implementation to test. */
39      private BankleitzahlenVerzeichnis directory;
40  
41      /**
42       * Gets the {@code BankleitzahlenVerzeichnis} implementation tests are performed with.
43       *
44       * @return the {@code BankleitzahlenVerzeichnis} implementation tests are performed with.
45       */
46      public BankleitzahlenVerzeichnis getBankleitzahlenVerzeichnis()
47      {
48          return this.directory;
49      }
50  
51      /**
52       * Sets the {@code BankleitzahlenVerzeichnis} implementation tests are performed with.
53       *
54       * @param value the {@code BankleitzahlenVerzeichnis} implementation to perform tests with.
55       */
56      public final void setBankleitzahlenVerzeichnis( final BankleitzahlenVerzeichnis value )
57      {
58          this.directory = value;
59      }
60  
61      /**
62       * Tests the {@link BankleitzahlenVerzeichnis#getHeadOffice(Bankleitzahl)} method to handle {@code null} references
63       * correctly by throwing a corresponding {@code NullPointerException}.
64       */
65      public void testGetHeadOfficeNull() throws Exception
66      {
67          assert this.getBankleitzahlenVerzeichnis() != null;
68  
69          try
70          {
71              this.getBankleitzahlenVerzeichnis().getHeadOffice( null );
72              throw new AssertionError();
73          }
74          catch ( NullPointerException e )
75          {
76              Assert.assertNotNull( e.getMessage() );
77              System.out.println( e.toString() );
78          }
79  
80      }
81  
82      /**
83       * Tests the {@link BankleitzahlenVerzeichnis#getBranchOffices(Bankleitzahl)} method to handle {@code null}
84       * references correctly by throwing a corresponding {@code NullPointerException}.
85       */
86      public void testGetBranchOfficesNull() throws Exception
87      {
88          assert this.getBankleitzahlenVerzeichnis() != null;
89  
90          try
91          {
92              this.getBankleitzahlenVerzeichnis().getBranchOffices( null );
93              throw new AssertionError();
94          }
95          catch ( NullPointerException e )
96          {
97              Assert.assertNotNull( e.getMessage() );
98              System.out.println( e.toString() );
99          }
100 
101     }
102 
103     /**
104      * Tests the {@link BankleitzahlenVerzeichnis#getDateOfExpiration()} method to not return a {@code null} value.
105      */
106     public void testGetDateOfExpirationNull() throws Exception
107     {
108         assert this.getBankleitzahlenVerzeichnis() != null;
109 
110         Assert.assertNotNull( this.getBankleitzahlenVerzeichnis().getDateOfExpiration() );
111         System.out.println( this.getBankleitzahlenVerzeichnis().getDateOfExpiration() );
112     }
113 
114     /**
115      * Tests the {@link BankleitzahlenVerzeichnis#getHeadOffice(Bankleitzahl)} and
116      * {@link BankleitzahlenVerzeichnis#getBranchOffices(Bankleitzahl)} methods to throw a
117      * {@code BankleitzahlExpirationException} for the expired Bankleitzahl 26264884 and 83064538.
118      */
119     public void testBankleitzahlExpirationException() throws Exception
120     {
121         assert this.getBankleitzahlenVerzeichnis() != null;
122 
123         try
124         {
125             this.getBankleitzahlenVerzeichnis().getHeadOffice( Bankleitzahl.valueOf( "26264884" ) );
126             throw new AssertionError();
127         }
128         catch ( BankleitzahlExpirationException e )
129         {
130             Assert.assertNotNull( e.getMessage() );
131             System.out.println( e.toString() );
132         }
133 
134         try
135         {
136             this.getBankleitzahlenVerzeichnis().getHeadOffice( Bankleitzahl.valueOf( "83064538" ) );
137             throw new AssertionError();
138         }
139         catch ( BankleitzahlExpirationException e )
140         {
141             Assert.assertNotNull( e.getMessage() );
142             System.out.println( e.toString() );
143         }
144 
145         try
146         {
147             this.getBankleitzahlenVerzeichnis().getBranchOffices( Bankleitzahl.valueOf( "26264884" ) );
148             throw new AssertionError();
149         }
150         catch ( BankleitzahlExpirationException e )
151         {
152             Assert.assertNotNull( e.getMessage() );
153             System.out.println( e.toString() );
154         }
155 
156         try
157         {
158             this.getBankleitzahlenVerzeichnis().getBranchOffices( Bankleitzahl.valueOf( "83064538" ) );
159             throw new AssertionError();
160         }
161         catch ( BankleitzahlExpirationException e )
162         {
163             Assert.assertNotNull( e.getMessage() );
164             System.out.println( e.toString() );
165         }
166 
167     }
168 
169     /**
170      * Tests the {@link BankleitzahlenVerzeichnis#search(String,String,String,boolean)} method to return sane values.
171      */
172     public void testSearch() throws Exception
173     {
174         assert this.getBankleitzahlenVerzeichnis() != null;
175         Assert.assertTrue( this.getBankleitzahlenVerzeichnis().search( null, null, null, true ).length >= 0 );
176     }
177 
178     /**
179      * Tests the {@link BankleitzahlenVerzeichnis#searchBankleitzahlInfos(String,String,String,Boolean,Boolean)} method
180      * to return sane values.
181      */
182     public void testSearchBankleitzahlInfos() throws Exception
183     {
184         assert this.getBankleitzahlenVerzeichnis() != null;
185         Assert.assertTrue( this.getBankleitzahlenVerzeichnis().searchBankleitzahlInfos(
186             null, null, null, null, null ).length >= 0 );
187 
188     }
189 
190 }