/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.jpa.userguide.util; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import org.hibernate.jpa.internal.util.PessimisticNumberParser; import org.junit.Test; /** * @author Sanne Grinovero */ public class PessimisticNumberParserUnitTest { @Test public void testEmptyStringBehaviour() { assertNull( PessimisticNumberParser.toNumberOrNull( "" ) ); } @Test public void testPlusStringBehaviour() { assertNull( PessimisticNumberParser.toNumberOrNull( "+" ) ); } @Test public void testMinusStringBehaviour() { assertNull( PessimisticNumberParser.toNumberOrNull( "-" ) ); } @Test public void testLetterStringBehaviour() { assertNull( PessimisticNumberParser.toNumberOrNull( "h" ) ); } @Test public void testTextStringBehaviour() { assertNull( PessimisticNumberParser.toNumberOrNull( "hello world!" ) ); } @Test public void testFoolingPrefixStringBehaviour() { assertNull( PessimisticNumberParser.toNumberOrNull( "+60000g" ) ); } @Test public void testFiveStringBehaviour() { assertEquals( Integer.valueOf( 5 ), PessimisticNumberParser.toNumberOrNull( "5" ) ); } @Test public void testNegativeStringBehaviour() { //technically illegal for the case of positional parameters, but we can parse it assertEquals( Integer.valueOf( -25 ), PessimisticNumberParser.toNumberOrNull( "-25" ) ); } @Test public void testBigintegerStringBehaviour() { assertEquals( Integer.valueOf( 60000 ), PessimisticNumberParser.toNumberOrNull( "60000" ) ); } @Test public void testPositiveStringBehaviour() { assertEquals( Integer.valueOf( 60000 ), PessimisticNumberParser.toNumberOrNull( "+60000" ) ); } }