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;
// select ST_GeometryType(ST_MultiPoint('multipoint ((1 2))')) from onerow;
// select ST_GeometryType(ST_Linestring(10,10, 20,20)) from onerow;
// select ST_GeometryType(ST_Linestring('linestring (10 10, 20 20)')) from onerow;
// select ST_GeometryType(ST_Linestring('linestring z (10 10 2, 20 20 4)')) from onerow;
// select ST_GeometryType(ST_GeomFromText('polygon ((0 0, 0 10, 10 0, 0 0))')) from onerow;
// select ST_GeometryType(ST_Polygon('polygon ((0 0, 0 10, 10 0, 0 0))')) from onerow;
// select ST_GeometryType(ST_Polygon(1,1, 1,4, 4,1)) from onerow;
// select ST_GeometryType(ST_Polygon(1,1, 4,1, 1,4)) from onerow;
// select ST_GeometryType(ST_Polygon(1,1, 1,4, 4,1, 1,1)) from onerow;
// select ST_GeometryType(ST_Polygon(1,1, 4,1, 1,4, 1,1)) from onerow;
// select ST_GeometryType(ST_GeomFromGeoJson('{"type":"Point", "coordinates":[1.2, 2.4]}')) from onerow;
public class TestStGeometryType {
@Test
public void TestStGeometryType() throws Exception {
ST_GeometryType typer = new ST_GeometryType();
ST_Point stPt = new ST_Point();
ST_MultiPoint stMp = new ST_MultiPoint();
ST_LineString stLn = new ST_LineString();
ST_Polygon stPoly = new ST_Polygon();
BytesWritable bwGeom = stPt.evaluate(new DoubleWritable(0),
new DoubleWritable(0));
Text 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());
bwGeom = stLn.evaluate(new Text("linestring (10 10, 20 20)"));
gty = typer.evaluate(bwGeom);
assertEquals("ST_LINESTRING", gty.toString());
bwGeom = stPoly.evaluate(new Text("polygon ((0 0, 0 10, 10 0, 0 0))"));
gty = typer.evaluate(bwGeom);
assertEquals("ST_POLYGON", gty.toString());
}
}