package com.esri.hadoop.hive; import static org.junit.Assert.*; import org.junit.Test; import org.apache.hadoop.io.BytesWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.hive.serde2.io.DoubleWritable; // select ST_GeometryType(ST_Point(0, 0)) from onerow; // select ST_GeometryType(ST_Point('point (10.02 20.01)')) from onerow; // select ST_GeometryType(ST_Point('point z (10.02 20.01 2)')) from onerow; public class TestStPoint { @Test public void TestStPoint() throws Exception { ST_GeometryType typer = new ST_GeometryType(); ST_X stX = new ST_X(); ST_Y stY = new ST_Y(); ST_Point stPt = new ST_Point(); BytesWritable bwGeom = stPt.evaluate(new DoubleWritable(1.2), new DoubleWritable(3.4)); DoubleWritable dwx = stX.evaluate(bwGeom); DoubleWritable dwy = stY.evaluate(bwGeom); assertEquals(1.2, dwx.get(), .000001); assertEquals(3.4, dwy.get(), .000001); Text gty = typer.evaluate(bwGeom); assertEquals("ST_POINT", gty.toString()); bwGeom = stPt.evaluate(new DoubleWritable(6.5), new DoubleWritable(4.3), new DoubleWritable(2.1)); gty = typer.evaluate(bwGeom); assertEquals("ST_POINT", gty.toString()); bwGeom = stPt.evaluate(new Text("point (10.02 20.01)")); gty = typer.evaluate(bwGeom); assertEquals("ST_POINT", gty.toString()); bwGeom = stPt.evaluate(new Text("point z (10.02 20.01 2)")); gty = typer.evaluate(bwGeom); assertEquals("ST_POINT", gty.toString()); } }