001/* 002 * jDTAUS Banking Test Suite 003 * Copyright (C) 2005 Christian Schulte 004 * <cs@schulte.it> 005 * 006 * This library is free software; you can redistribute it and/or 007 * modify it under the terms of the GNU Lesser General Public 008 * License as published by the Free Software Foundation; either 009 * version 2.1 of the License, or any later version. 010 * 011 * This library is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 014 * Lesser General Public License for more details. 015 * 016 * You should have received a copy of the GNU Lesser General Public 017 * License along with this library; if not, write to the Free Software 018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 019 * 020 */ 021package org.jdtaus.banking.it; 022 023import junit.framework.Assert; 024import junit.framework.TestCase; 025import org.jdtaus.banking.Bankleitzahl; 026import org.jdtaus.banking.BankleitzahlExpirationException; 027import org.jdtaus.banking.BankleitzahlenVerzeichnis; 028 029/** 030 * Testcase for {@code BankleitzahlenVerzeichnis} implementations. 031 * 032 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a> 033 * @version $JDTAUS: BankleitzahlenVerzeichnisTest.java 8723 2012-10-04 20:09:53Z schulte $ 034 */ 035public class BankleitzahlenVerzeichnisTest extends TestCase 036{ 037 038 /** Implementation to test. */ 039 private BankleitzahlenVerzeichnis directory; 040 041 /** 042 * Gets the {@code BankleitzahlenVerzeichnis} implementation tests are performed with. 043 * 044 * @return the {@code BankleitzahlenVerzeichnis} implementation tests are performed with. 045 */ 046 public BankleitzahlenVerzeichnis getBankleitzahlenVerzeichnis() 047 { 048 return this.directory; 049 } 050 051 /** 052 * Sets the {@code BankleitzahlenVerzeichnis} implementation tests are performed with. 053 * 054 * @param value the {@code BankleitzahlenVerzeichnis} implementation to perform tests with. 055 */ 056 public final void setBankleitzahlenVerzeichnis( final BankleitzahlenVerzeichnis value ) 057 { 058 this.directory = value; 059 } 060 061 /** 062 * Tests the {@link BankleitzahlenVerzeichnis#getHeadOffice(Bankleitzahl)} method to handle {@code null} references 063 * correctly by throwing a corresponding {@code NullPointerException}. 064 */ 065 public void testGetHeadOfficeNull() throws Exception 066 { 067 assert this.getBankleitzahlenVerzeichnis() != null; 068 069 try 070 { 071 this.getBankleitzahlenVerzeichnis().getHeadOffice( null ); 072 throw new AssertionError(); 073 } 074 catch ( NullPointerException e ) 075 { 076 Assert.assertNotNull( e.getMessage() ); 077 System.out.println( e.toString() ); 078 } 079 080 } 081 082 /** 083 * Tests the {@link BankleitzahlenVerzeichnis#getBranchOffices(Bankleitzahl)} method to handle {@code null} 084 * references correctly by throwing a corresponding {@code NullPointerException}. 085 */ 086 public void testGetBranchOfficesNull() throws Exception 087 { 088 assert this.getBankleitzahlenVerzeichnis() != null; 089 090 try 091 { 092 this.getBankleitzahlenVerzeichnis().getBranchOffices( null ); 093 throw new AssertionError(); 094 } 095 catch ( NullPointerException e ) 096 { 097 Assert.assertNotNull( e.getMessage() ); 098 System.out.println( e.toString() ); 099 } 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}