Package org.geotools.filter.function

Source Code of org.geotools.filter.function.NumberFormatTest

package org.geotools.filter.function;

import java.text.DecimalFormatSymbols;

import junit.framework.TestCase;

import org.geotools.factory.CommonFactoryFinder;
import org.opengis.filter.FilterFactory;
import org.opengis.filter.expression.Expression;
import org.opengis.filter.expression.Function;
import org.opengis.filter.expression.Literal;

/**
*
*
* @source $URL$
*/
public class NumberFormatTest extends TestCase {

    public void testFormatDouble() {
        FilterFactory ff = CommonFactoryFinder.getFilterFactory(null);
        Literal pattern = ff.literal("#.##");
        Literal number = ff.literal("10.56789");
       
        Function f = ff.function("numberFormat", new Expression[]{pattern, number});
        char ds = new DecimalFormatSymbols().getDecimalSeparator();
        assertEquals("10" + ds + "57", f.evaluate(null , String.class));
    }
   
    public void testFormatInteger() {
        FilterFactory ff = CommonFactoryFinder.getFilterFactory(null);
        Literal pattern = ff.literal("###,###");
        Literal number = ff.literal("123456");
       
        Function f = ff.function("numberFormat", new Expression[]{pattern, number});
        char gs = new DecimalFormatSymbols().getGroupingSeparator();
        assertEquals("123" + gs + "456", f.evaluate(null , String.class));
    }
   
    public void testNumberFormat2() {
        FilterFactory ff = CommonFactoryFinder.getFilterFactory(null);
        Literal pattern = ff.literal("###,###.##");
        Literal number = ff.literal("-123456.7891");
        Literal minus = ff.literal("x");
        Literal ds = ff.literal(":");
        Literal gs = ff.literal(";");
       
        Function f = ff.function("numberFormat2", new Expression[]{pattern, number, minus, ds, gs});
        assertEquals("x123;456:79", f.evaluate(null, String.class));
       
    }
   
    public void testNumberFormatNullValue() {
        FilterFactory ff = CommonFactoryFinder.getFilterFactory(null);
        Literal pattern = ff.literal("###,###.##");
        Literal number = ff.literal(null);
       
        Function f = ff.function("numberFormat", new Expression[]{pattern, number});
        assertEquals(null, f.evaluate(null, String.class));
    }
   
    public void testNumberFormatNullPattern() {
        FilterFactory ff = CommonFactoryFinder.getFilterFactory(null);
        Literal pattern = ff.literal(null);
        Literal number = ff.literal("-123456.7891");
       
        Function f = ff.function("numberFormat", new Expression[]{pattern, number});
        assertEquals(null, f.evaluate(null, String.class));
    }
   
    public void testNumber2FormatNullValue() {
        FilterFactory ff = CommonFactoryFinder.getFilterFactory(null);
        Literal pattern = ff.literal("###,###.##");
        Literal number = ff.literal(null);
        Literal minus = ff.literal("x");
        Literal ds = ff.literal(":");
        Literal gs = ff.literal(";");

       
        Function f = ff.function("numberFormat2", new Expression[]{pattern, number, minus, ds, gs});
        assertEquals(null, f.evaluate(null, String.class));
    }
   
    public void testNumber2FormatNullPattern() {
        FilterFactory ff = CommonFactoryFinder.getFilterFactory(null);
        Literal pattern = ff.literal(null);
        Literal number = ff.literal("-123456.7891");
        Literal minus = ff.literal("x");
        Literal ds = ff.literal(":");
        Literal gs = ff.literal(";");

       
        Function f = ff.function("numberFormat2", new Expression[]{pattern, number, minus, ds, gs});
        assertEquals(null, f.evaluate(null, String.class));
    }

}
TOP

Related Classes of org.geotools.filter.function.NumberFormatTest

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.