/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.codehaus.groovy.runtime; import groovy.util.GroovyTestCase; import java.math.BigDecimal; import java.math.BigInteger; /** * @author James Strachan * @author Marc Guillemot * @author Brad Long */ public class StringGroovyMethodsTest extends GroovyTestCase { public void testIncrementString() throws Exception { String original = "z"; String answer = StringGroovyMethods.next(original); assertEquals("{", answer); assertTrue(answer.compareTo(original) > 0); } public void testDecrementString() throws Exception { String original = "a"; String answer = StringGroovyMethods.previous(original); assertEquals("`", answer); assertTrue(ScriptBytecodeAdapter.compareLessThan(answer, original)); } public void testToMethods() throws Exception { assertEquals(StringGroovyMethods.toInteger("1"), new Integer(1)); assertEquals(StringGroovyMethods.toLong("1"), new Long(1)); assertEquals(StringGroovyMethods.toFloat("1"), new Float(1)); assertEquals(StringGroovyMethods.toDouble("1"), new Double(1)); assertEquals(StringGroovyMethods.toBigInteger("1"), new BigInteger("1")); assertEquals(StringGroovyMethods.toBigDecimal("1"), new BigDecimal("1")); assertEquals(StringGroovyMethods.toBoolean("True"), Boolean.TRUE); assertEquals(StringGroovyMethods.toBoolean("Y"), Boolean.TRUE); assertEquals(StringGroovyMethods.toBoolean(" y "), Boolean.TRUE); assertEquals(StringGroovyMethods.toBoolean("1"), Boolean.TRUE); assertEquals(StringGroovyMethods.toBoolean("false"), Boolean.FALSE); assertEquals(StringGroovyMethods.toBoolean("n"), Boolean.FALSE); assertEquals(StringGroovyMethods.toBoolean("0"), Boolean.FALSE); } public void testIsMethods() throws Exception { String intStr = "123"; String floatStr = "1.23E-1"; String nonNumberStr = "ONE"; assertTrue(StringGroovyMethods.isInteger(intStr)); assertFalse(StringGroovyMethods.isInteger(floatStr)); assertFalse(StringGroovyMethods.isInteger(nonNumberStr)); assertTrue(StringGroovyMethods.isLong(intStr)); assertFalse(StringGroovyMethods.isLong(floatStr)); assertFalse(StringGroovyMethods.isLong(nonNumberStr)); assertTrue(StringGroovyMethods.isFloat(intStr)); assertTrue(StringGroovyMethods.isFloat(floatStr)); assertFalse(StringGroovyMethods.isFloat(nonNumberStr)); assertTrue(StringGroovyMethods.isDouble(intStr)); assertTrue(StringGroovyMethods.isDouble(floatStr)); assertFalse(StringGroovyMethods.isDouble(nonNumberStr)); assertTrue(StringGroovyMethods.isBigInteger(intStr)); assertFalse(StringGroovyMethods.isBigInteger(floatStr)); assertFalse(StringGroovyMethods.isBigInteger(nonNumberStr)); assertTrue(StringGroovyMethods.isBigDecimal(intStr)); assertTrue(StringGroovyMethods.isBigDecimal(floatStr)); assertFalse(StringGroovyMethods.isBigDecimal(nonNumberStr)); assertTrue(StringGroovyMethods.isNumber(intStr)); assertTrue(StringGroovyMethods.isNumber(floatStr)); assertFalse(StringGroovyMethods.isNumber(nonNumberStr)); } }