Package hbci4java.sepa

Source Code of hbci4java.sepa.TestPainParse

/**********************************************************************
*
* Copyright (c) by Olaf Willuhn
* All rights reserved
*
**********************************************************************/

package hbci4java.sepa;

import hbci4java.AbstractTest;

import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

import org.junit.Assert;
import org.junit.Test;
import org.kapott.hbci.sepa.PainVersion;

/**
* Testet das Parsen von Pain XML-Dateien - ohne HBCI-Context.
*/
public class TestPainParse extends AbstractTest
{
    /**
     * Testet das korrekte Ermitteln der PAIN-Version aus dem XML-Dokument.
     * @throws Exception
     */
    @Test
    public void test001() throws Exception
    {
        Map<String,PainVersion> files = new HashMap<String,PainVersion>()
        {{
            put("sepa/test-pain-parse-00100102.xml",PainVersion.PAIN_001_001_02);
            put("sepa/test-pain-parse-00100202.xml",PainVersion.PAIN_001_002_02);
            put("sepa/test-pain-parse-00100203.xml",PainVersion.PAIN_001_002_03);
            put("sepa/test-pain-parse-00100303.xml",PainVersion.PAIN_001_003_03);
        }};
       
        for (Entry<String,PainVersion> entry:files.entrySet())
        {
            InputStream is = null;
            try
            {
                is = this.getStream(entry.getKey());
                PainVersion version = PainVersion.autodetect(is);
                Assert.assertEquals(version,entry.getValue());
            }
            finally
            {
                if (is != null)
                    is.close();
            }
        }
    }

    /**
     * Testet die Autodetection fuer eine XML-Datei ohne Namespace.
     * @throws Exception
     */
    @Test
    public void test002() throws Exception
    {
        InputStream is = null;
        try
        {
            is = this.getStream("sepa/test-pain-parse-none.xml");
            PainVersion version = PainVersion.autodetect(is);
            Assert.assertNull(version);
        }
        finally
        {
            if (is != null)
                is.close();
        }
    }

    /**
     * Testet das Fehlschlagen der Autodetection fuer eine XML-Datei mit falschem Namespace.
     * @throws Exception
     */
    @Test
    public void test003() throws Exception
    {
        InputStream is = null;
        try
        {
            is = this.getStream("sepa/test-pain-parse-invalid.xml");
            PainVersion.autodetect(is);
            Assert.fail();
        }
        catch (IllegalArgumentException iae)
        {
            Assert.assertEquals(iae.getClass(),IllegalArgumentException.class); // eigentlich redundant aber egal.
        }
        finally
        {
            if (is != null)
                is.close();
        }
    }
}
TOP

Related Classes of hbci4java.sepa.TestPainParse

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.