mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-24 21:07:26 +08:00
64 lines
1.6 KiB
Java
64 lines
1.6 KiB
Java
/*
|
|
* Copyright (c) 2009 Mysema Ltd.
|
|
* All rights reserved.
|
|
*
|
|
*/
|
|
package com.mysema.query.extensions;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
|
|
import org.junit.Test;
|
|
|
|
import com.mysema.query.annotations.QueryEntity;
|
|
import com.mysema.query.annotations.QueryMethod;
|
|
import com.mysema.query.types.path.PComparable;
|
|
import com.mysema.query.types.path.PathMetadataFactory;
|
|
|
|
public class QueryExtensions3Test {
|
|
|
|
public static class Point implements Comparable<Point>{
|
|
|
|
@QueryMethod("geo_distance({0}, {1})")
|
|
int geoDistance(Point otherPoint){
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public int compareTo(Point o) {
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode(){
|
|
return super.hashCode();
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o){
|
|
return o instanceof Point;
|
|
}
|
|
|
|
}
|
|
|
|
@QueryEntity
|
|
public static class Entity{
|
|
|
|
Point point;
|
|
}
|
|
|
|
@Test
|
|
public void test(){
|
|
QQueryExtensions3Test_Point var = new QQueryExtensions3Test_Point(PathMetadataFactory.forVariable("var"));
|
|
QQueryExtensions3Test_Point var2 = new QQueryExtensions3Test_Point(PathMetadataFactory.forVariable("var2"));
|
|
|
|
// geoDistance
|
|
assertEquals("geo_distance(var, var2)", var.geoDistance(var2).toString());
|
|
}
|
|
|
|
@Test
|
|
public void test_Point_has_right_type(){
|
|
assertEquals(PComparable.class, QQueryExtensions3Test_Point.class.getSuperclass());
|
|
assertEquals(PComparable.class, QQueryExtensions3Test_Entity.entity.point.getClass().getSuperclass());
|
|
}
|
|
}
|