001/*
002 *  jDTAUS Banking Messages
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.messages.test;
022
023import java.math.BigInteger;
024import java.util.Date;
025import java.util.Locale;
026import junit.framework.Assert;
027import junit.framework.TestCase;
028import org.jdtaus.banking.Bankleitzahl;
029import org.jdtaus.banking.BankleitzahlInfo;
030import org.jdtaus.banking.Textschluessel;
031import org.jdtaus.banking.dtaus.Checksum;
032import org.jdtaus.banking.dtaus.LogicalFileType;
033import org.jdtaus.banking.messages.AnalysesFileMessage;
034import org.jdtaus.banking.messages.BankleitzahlExpirationMessage;
035import org.jdtaus.banking.messages.BankleitzahlReplacementMessage;
036import org.jdtaus.banking.messages.ChecksumErrorMessage;
037import org.jdtaus.banking.messages.ChecksumsFileMessage;
038import org.jdtaus.banking.messages.CurrencyConstraintMessage;
039import org.jdtaus.banking.messages.IllegalAmountMessage;
040import org.jdtaus.banking.messages.IllegalCurrencyMessage;
041import org.jdtaus.banking.messages.IllegalDataMessage;
042import org.jdtaus.banking.messages.IllegalDateMessage;
043import org.jdtaus.banking.messages.IllegalDescriptionCountMessage;
044import org.jdtaus.banking.messages.IllegalFileLengthMessage;
045import org.jdtaus.banking.messages.IllegalScheduleMessage;
046import org.jdtaus.banking.messages.OutdatedBankleitzahlenVerzeichnisMessage;
047import org.jdtaus.banking.messages.ReadsBankleitzahlenDateiMessage;
048import org.jdtaus.banking.messages.ReadsCurrenciesMessage;
049import org.jdtaus.banking.messages.ReadsTextschluesselMessage;
050import org.jdtaus.banking.messages.SearchesBankleitzahlInfosMessage;
051import org.jdtaus.banking.messages.SearchesCurrenciesMessage;
052import org.jdtaus.banking.messages.SearchesTextschluesselMessage;
053import org.jdtaus.banking.messages.TextschluesselConstraintMessage;
054import org.jdtaus.banking.messages.UnknownBankleitzahlMessage;
055import org.jdtaus.banking.messages.UpdatesBankleitzahlenDateiMessage;
056import org.jdtaus.core.text.Message;
057
058/**
059 * Unit tests for banking application messages.
060 *
061 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
062 * @version $JDTAUS: MessagesTest.java 8661 2012-09-27 11:29:58Z schulte $
063 */
064public class MessagesTest extends TestCase
065{
066
067    /**
068     * Tests instantiation of each core application message and for non-null texts for the current default locale.
069     */
070    public void testMessages() throws Exception
071    {
072        final Checksum c1 = new Checksum();
073        final Checksum c2 = new Checksum();
074        c2.setTransactionCount( 1 );
075
076        this.assertNotNull( new AnalysesFileMessage() );
077        this.assertNotNull( new ChecksumErrorMessage( c1, c2, 0L ) );
078        this.assertNotNull( new ChecksumsFileMessage() );
079        this.assertNotNull( new CurrencyConstraintMessage( "DEM", new Date() ) );
080        this.assertNotNull( new IllegalAmountMessage( new BigInteger( "10" ) ) );
081        this.assertNotNull( new IllegalCurrencyMessage( "DEM", new Date() ) );
082        this.assertNotNull( new IllegalDataMessage( 0xA1, IllegalDataMessage.TYPE_CONSTANT, 0L, "TEST" ) );
083        this.assertNotNull( new IllegalDateMessage( new Date(), new Date(), new Date() ) );
084        this.assertNotNull( new IllegalDescriptionCountMessage( 0, 1 ) );
085        this.assertNotNull( new IllegalFileLengthMessage( 1, 3 ) );
086        this.assertNotNull( new IllegalScheduleMessage( new Date(), new Date(), 0 ) );
087        this.assertNotNull( new OutdatedBankleitzahlenVerzeichnisMessage( new Date() ) );
088        this.assertNotNull( new TextschluesselConstraintMessage( LogicalFileType.GB, new Textschluessel() ) );
089        this.assertNotNull( new UpdatesBankleitzahlenDateiMessage() );
090        this.assertNotNull( new ReadsBankleitzahlenDateiMessage() );
091        this.assertNotNull( new UnknownBankleitzahlMessage( Bankleitzahl.valueOf( "88888888" ) ) );
092        final BankleitzahlInfo testInfo = new BankleitzahlInfo();
093        testInfo.setBankCode( Bankleitzahl.valueOf( "88888888" ) );
094        this.assertNotNull( new BankleitzahlExpirationMessage( testInfo ) );
095        this.assertNotNull( new BankleitzahlReplacementMessage( testInfo ) );
096        this.assertNotNull( new SearchesBankleitzahlInfosMessage() );
097        this.assertNotNull( new SearchesCurrenciesMessage() );
098        this.assertNotNull( new SearchesTextschluesselMessage() );
099        this.assertNotNull( new ReadsCurrenciesMessage() );
100        this.assertNotNull( new ReadsTextschluesselMessage() );
101    }
102
103    private void assertNotNull( final Message message )
104    {
105        Assert.assertNotNull( message.getText( Locale.getDefault() ) );
106        System.out.println( message.getText( Locale.getDefault() ) );
107    }
108
109}