/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2016, Open Source Geospatial Foundation (OSGeo) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * 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 * Lesser General Public License for more details. */ package org.geotools.filter.function; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; public class StaticGeometryTest { @Test public void testGreaterThan() { //First test as ints Object arg1 = 3; Object arg2 = 2; assertTrue(StaticGeometry.greaterThan(arg1, arg2)); assertFalse(StaticGeometry.greaterThan(arg2, arg1)); //And as doubles arg1 = 3.; arg2 = 2.98; assertTrue(StaticGeometry.greaterThan(arg1, arg2)); assertFalse(StaticGeometry.greaterThan(arg2, arg1)); //And actual string (NB this didn't work at all in previous implementation of //StaticGeometry. Test is included here for clarity of intent. arg1 = "B"; arg2 = "A"; assertTrue(StaticGeometry.greaterThan(arg1, arg2)); assertFalse(StaticGeometry.greaterThan(arg2, arg1)); //And actual string, case varying arg1 = "a"; arg2 = "B"; assertTrue(StaticGeometry.greaterThan(arg1, arg2)); assertFalse(StaticGeometry.greaterThan(arg2, arg1)); //Now test as string numbers arg1 = "3"; arg2 = "2"; assertTrue(StaticGeometry.greaterThan(arg1, arg2)); assertFalse(StaticGeometry.greaterThan(arg2, arg1)); arg1 = "3.00"; arg2 = "2.98"; assertTrue(StaticGeometry.greaterThan(arg1, arg2)); assertFalse(StaticGeometry.greaterThan(arg2, arg1)); } @Test public void testLessThan() { //First test as ints Object arg1 = 3; Object arg2 = 2; assertFalse(StaticGeometry.lessThan(arg1, arg2)); assertTrue(StaticGeometry.lessThan(arg2, arg1)); //And as doubles arg1 = 3.; arg2 = 2.98; assertFalse(StaticGeometry.lessThan(arg1, arg2)); assertTrue(StaticGeometry.lessThan(arg2, arg1)); //Now test as strings arg1 = "3"; arg2 = "2"; assertFalse(StaticGeometry.lessThan(arg1, arg2)); assertTrue(StaticGeometry.lessThan(arg2, arg1)); arg1 = "3.00"; arg2 = "2.98"; assertFalse(StaticGeometry.lessThan(arg1, arg2)); assertTrue(StaticGeometry.lessThan(arg2, arg1)); } @Test public void testLessEqualThan() { //First test as ints Object arg1 = 3; Object arg2 = 2; assertFalse(StaticGeometry.lessEqualThan(arg1, arg2)); assertTrue(StaticGeometry.lessEqualThan(arg2, arg1)); assertTrue(StaticGeometry.lessEqualThan(arg2, arg2)); //And as doubles arg1 = 3.; arg2 = 2.98; assertFalse(StaticGeometry.lessEqualThan(arg1, arg2)); assertTrue(StaticGeometry.lessEqualThan(arg2, arg1)); assertTrue(StaticGeometry.lessEqualThan(arg2, arg2)); //Now test as strings arg1 = "3"; arg2 = "2"; assertFalse(StaticGeometry.lessEqualThan(arg1, arg2)); assertTrue(StaticGeometry.lessEqualThan(arg2, arg1)); assertTrue(StaticGeometry.lessEqualThan(arg2, arg2)); arg1 = "3.00"; arg2 = "2.98"; assertFalse(StaticGeometry.lessEqualThan(arg1, arg2)); assertTrue(StaticGeometry.lessEqualThan(arg2, arg1)); assertTrue(StaticGeometry.lessEqualThan(arg2, arg2)); } @Test public void testGreaterEqualThan() { //First test as ints Object arg1 = 3; Object arg2 = 2; assertTrue(StaticGeometry.greaterEqualThan(arg1, arg2)); assertFalse(StaticGeometry.greaterEqualThan(arg2, arg1)); assertTrue(StaticGeometry.greaterEqualThan(arg2, arg2)); //And as doubles arg1 = 3.; arg2 = 2.98; assertTrue(StaticGeometry.greaterEqualThan(arg1, arg2)); assertFalse(StaticGeometry.greaterEqualThan(arg2, arg1)); assertTrue(StaticGeometry.greaterEqualThan(arg2, arg2)); //Now test as strings arg1 = "3"; arg2 = "2"; assertTrue(StaticGeometry.greaterEqualThan(arg1, arg2)); assertFalse(StaticGeometry.greaterEqualThan(arg2, arg1)); assertTrue(StaticGeometry.greaterEqualThan(arg2, arg2)); arg1 = "3.00"; arg2 = "2.98"; assertTrue(StaticGeometry.greaterEqualThan(arg1, arg2)); assertFalse(StaticGeometry.greaterEqualThan(arg2, arg1)); assertTrue(StaticGeometry.greaterEqualThan(arg2, arg2)); } }