/* * JacORB - a free Java ORB * * Copyright (C) 1997-2014 Gerald Brose / The JacORB Team. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ package org.jacorb.test.bugs.bugjac516; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import java.math.BigDecimal; import org.jacorb.orb.CDRInputStream; import org.jacorb.orb.CDROutputStream; import org.jacorb.test.harness.ORBTestCase; import org.junit.Before; import org.junit.Test; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.MARSHAL; /** * @author Alphonse Bendt */ public class BugJac516Test extends ORBTestCase { private CDROutputStream out; private CDRInputStream in; @Before public void setUp() throws Exception { out = (CDROutputStream) orb.create_output_stream(); out.write_fixed(new BigDecimal("432.1"), (short)4, (short)1); in = (CDRInputStream) out.create_input_stream(); } @Test public void testReadFixedWithWrongDigitsFails1() { try { in.read_fixed((short)3, (short)1); fail(); } catch(MARSHAL e) { } } @Test public void testReadFixedScaleBelowZeroShouldFail() { try { in.read_fixed((short)4, (short)-1); fail(); } catch(BAD_PARAM e) { } } @Test public void testReadFixed1() { assertEquals(new BigDecimal("432.1"), in.read_fixed((short)4, (short)1)); } @Test public void testReadFixed2() { assertEquals(new BigDecimal("43.21"), in.read_fixed((short)4, (short)2)); } @Test public void testReadFixed3() { assertEquals(new BigDecimal("4.321"), in.read_fixed((short)4, (short)3)); } @Test public void testReadFixed4() { assertEquals(new BigDecimal(".4321"), in.read_fixed((short)4, (short)4)); } @Test public void testReadFixedNegative1() { try { in.read_fixed((short)4, (short)-1); fail(); } catch(BAD_PARAM e) { } } }