Skip to content

Commit d1d1f9f

Browse files
committed
HHH-13083 - Add integration test
1 parent d9dd1eb commit d1d1f9f

File tree

1 file changed

+46
-12
lines changed
  • hibernate-spatial/src/test/java/org/hibernate/spatial/integration/geolatte

1 file changed

+46
-12
lines changed
Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,15 @@
88

99
import java.util.List;
1010
import javax.persistence.Entity;
11+
import javax.persistence.GeneratedValue;
12+
import javax.persistence.GenerationType;
1113
import javax.persistence.Id;
1214

1315
import org.hibernate.spatial.dialect.postgis.PostgisPG95Dialect;
1416

1517
import org.hibernate.testing.RequiresDialect;
1618
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
19+
import org.junit.After;
1720
import org.junit.Test;
1821

1922
import org.geolatte.geom.C2D;
@@ -30,10 +33,12 @@
3033
import static org.junit.Assert.assertEquals;
3134

3235
/**
36+
* Integration tests for Postgis
37+
*
3338
* @author Vlad Mihalcea, Karel Maesen
3439
*/
3540
@RequiresDialect(PostgisPG95Dialect.class)
36-
public class PostgisBufferTest extends BaseCoreFunctionalTestCase {
41+
public class PostgisTest extends BaseCoreFunctionalTestCase {
3742

3843
public static CoordinateReferenceSystem<C2D> crs = CoordinateReferenceSystems.PROJECTED_2D_METER;
3944

@@ -49,23 +54,23 @@ protected Class<?>[] getAnnotatedClasses() {
4954
};
5055
}
5156

52-
@Test
53-
public void test() {
54-
Long addressId = doInHibernate( this::sessionFactory, session -> {
55-
Event event = new Event();
56-
event.setId( 1L );
57-
event.setName( "Hibernate ORM presentation" );
58-
Point<C2D> pnt = point( crs, c( 10, 5 ) );
59-
event.setLocation( pnt );
60-
session.persist( event );
61-
return event.getId();
57+
@After
58+
public void cleanUp() {
59+
doInHibernate( this::sessionFactory, session -> {
60+
session.createQuery( "delete from Event" ).executeUpdate();
6261
} );
62+
}
63+
64+
65+
@Test
66+
public void testBuffer() {
67+
Long addressId = insertEvent( c( 10, 5 ) );
6368

6469
doInHibernate( this::sessionFactory, session -> {
6570
List<Event> events = session.createQuery(
6671
"select e " +
6772
"from Event e " +
68-
"where buffer(:window, 100) is not null", Event.class )
73+
"where within( e.location, buffer(:window, 100)) = true", Event.class )
6974
.setParameter( "window", window )
7075
.getResultList();
7176

@@ -74,10 +79,39 @@ public void test() {
7479
} );
7580
}
7681

82+
@Test
83+
public void testMakeEnvelope() {
84+
Long addressId = insertEvent( c( 10, 5 ) );
85+
86+
doInHibernate( this::sessionFactory, session -> {
87+
List<Event> events = session.createQuery(
88+
"select e " +
89+
"from Event e " +
90+
"where within(e.location, makeenvelope(0, 0, 11, 11, -1 )) = true", Event.class )
91+
.getResultList();
92+
93+
assertEquals( 1, events.size() );
94+
95+
} );
96+
97+
}
98+
99+
private Long insertEvent(C2D position) {
100+
return doInHibernate( this::sessionFactory, session -> {
101+
Event event = new Event();
102+
event.setName( "Hibernate ORM presentation" );
103+
Point<C2D> pnt = point( crs, position );
104+
event.setLocation( pnt );
105+
session.persist( event );
106+
return event.getId();
107+
} );
108+
}
109+
77110
@Entity(name = "Event")
78111
public static class Event {
79112

80113
@Id
114+
@GeneratedValue(strategy = GenerationType.IDENTITY)
81115
private Long id;
82116

83117
private String name;

0 commit comments

Comments
 (0)