001/*
002 *   Copyright (C) Christian Schulte, 2012-22
003 *   All rights reserved.
004 *
005 *   Redistribution and use in source and binary forms, with or without
006 *   modification, are permitted provided that the following conditions
007 *   are met:
008 *
009 *     o Redistributions of source code must retain the above copyright
010 *       notice, this list of conditions and the following disclaimer.
011 *
012 *     o Redistributions in binary form must reproduce the above copyright
013 *       notice, this list of conditions and the following disclaimer in
014 *       the documentation and/or other materials provided with the
015 *       distribution.
016 *
017 *   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
018 *   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
019 *   AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
020 *   THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
021 *   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
022 *   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
023 *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
024 *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
025 *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
026 *   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
027 *
028 *   $JOMC: ModelContextFactoryErrorTest.java 4200 2012-01-25 09:46:13Z schulte2005 $
029 *
030 */
031package org.jomc.modlet.test;
032
033import java.io.IOException;
034import java.io.ObjectInputStream;
035import org.jomc.modlet.ModelContextFactoryError;
036import org.junit.Test;
037import static org.junit.Assert.assertEquals;
038import static org.junit.Assert.assertNotNull;
039
040/**
041 * Test cases for class {@code org.jomc.modlet.ModelContextFactory}.
042 *
043 * @author <a href="mailto:schulte2005@users.sourceforge.net">Christian Schulte</a> 1.0
044 * @version $JOMC: ModelContextFactoryErrorTest.java 4200 2012-01-25 09:46:13Z schulte2005 $
045 */
046public class ModelContextFactoryErrorTest
047{
048
049    /** Constant to prefix relative resource names with. */
050    private static final String ABSOLUTE_RESOURCE_NAME_PREFIX = "/org/jomc/modlet/test/";
051
052    /** Creates a new {@code ModelContextFactoryErrorTest} instance. */
053    public ModelContextFactoryErrorTest()
054    {
055        super();
056    }
057
058    @Test
059    public final void testModelContextFactoryError() throws Exception
060    {
061        ObjectInputStream in = null;
062        boolean suppressExceptionOnClose = true;
063
064        try
065        {
066            in = new ObjectInputStream( this.getClass().getResourceAsStream(
067                ABSOLUTE_RESOURCE_NAME_PREFIX + "ModelContextFactoryError.ser" ) );
068
069            final ModelContextFactoryError e = (ModelContextFactoryError) in.readObject();
070            assertNotNull( e );
071            assertEquals( "ModelContextFactoryError", e.getMessage() );
072            suppressExceptionOnClose = false;
073        }
074        finally
075        {
076            try
077            {
078                if ( in != null )
079                {
080                    in.close();
081                }
082            }
083            catch ( final IOException e )
084            {
085                if ( !suppressExceptionOnClose )
086                {
087                    throw e;
088                }
089            }
090        }
091    }
092
093}