in hugegraph-test/src/main/java/org/apache/hugegraph/core/VertexCoreTest.java [3991:4096]
public void testQueryByFloatProperty() {
HugeGraph graph = graph();
SchemaManager schema = graph.schema();
schema.propertyKey("float").asFloat().create();
schema.vertexLabel("number").primaryKeys("id")
.properties("id", "float").create();
schema.indexLabel("numberByFloat").range()
.onV("number").by("float").create();
final float secondBiggest = 0x1.fffffdP+127f;
final float secondSmallest = 0x0.000003P-126f;
graph().addVertex(T.label, "number", "id", 1, "float", 7);
graph().addVertex(T.label, "number", "id", 2, "float", 3.14f);
graph().addVertex(T.label, "number", "id", 3, "float", 3.141592f);
graph().addVertex(T.label, "number", "id", 4, "float", 1234.567d);
graph().addVertex(T.label, "number", "id", 5,
"float", Float.MAX_VALUE);
graph().addVertex(T.label, "number", "id", 6,
"float", -Float.MAX_VALUE);
graph().addVertex(T.label, "number", "id", 7,
"float", Float.MIN_VALUE);
graph().addVertex(T.label, "number", "id", 8,
"float", -Float.MIN_VALUE);
graph().addVertex(T.label, "number", "id", 9,
"float", secondBiggest);
graph().addVertex(T.label, "number", "id", 10,
"float", -secondBiggest);
graph().addVertex(T.label, "number", "id", 11,
"float", secondSmallest);
graph().addVertex(T.label, "number", "id", 12,
"float", -secondSmallest);
this.mayCommitTx();
List<Vertex> vertices = graph.traversal().V().hasLabel("number")
.has("float", 7).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 1, "float", 7f);
vertices = graph.traversal().V().hasLabel("number")
.has("float", 3.14f).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 2, "float", 3.14f);
vertices = graph.traversal().V().hasLabel("number")
.has("float", 3.141592f).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 3,
"float", 3.141592f);
vertices = graph.traversal().V().hasLabel("number")
.has("float", 1234.567d).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 4,
"float", 1234.567f);
vertices = graph.traversal().V().hasLabel("number")
.has("float", Float.MAX_VALUE).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 5,
"float", Float.MAX_VALUE);
vertices = graph.traversal().V().hasLabel("number")
.has("float", -Float.MAX_VALUE).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 6,
"float", -Float.MAX_VALUE);
vertices = graph.traversal().V().hasLabel("number")
.has("float", Float.MIN_VALUE).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 7,
"float", Float.MIN_VALUE);
vertices = graph.traversal().V().hasLabel("number")
.has("float", -Float.MIN_VALUE).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 8,
"float", -Float.MIN_VALUE);
vertices = graph.traversal().V().hasLabel("number")
.has("float", secondBiggest).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 9,
"float", secondBiggest);
vertices = graph.traversal().V().hasLabel("number")
.has("float", -secondBiggest).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 10,
"float", -secondBiggest);
vertices = graph.traversal().V().hasLabel("number")
.has("float", secondSmallest).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 11,
"float", secondSmallest);
vertices = graph.traversal().V().hasLabel("number")
.has("float", -secondSmallest).toList();
Assert.assertEquals(1, vertices.size());
assertContains(vertices, T.label, "number", "id", 12,
"float", -secondSmallest);
}