use of jakarta.nosql.query.Condition in project jnosql-diana by eclipse.
the class UpdateQueryProviderTest method shouldReturnParserQuery1.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "update God (age = 30)" })
public void shouldReturnParserQuery1(String query) {
UpdateQuery updateQuery = checkUpdateFromStart(query);
List<Condition> conditions = updateQuery.getConditions();
assertEquals(1, conditions.size());
Condition condition = conditions.get(0);
assertEquals("age", condition.getName());
assertEquals(Operator.EQUALS, condition.getOperator());
QueryValue<?> value = condition.getValue();
assertTrue(value instanceof NumberQueryValue);
assertEquals(30L, NumberQueryValue.class.cast(value).get());
}
use of jakarta.nosql.query.Condition in project jnosql-diana by eclipse.
the class UpdateQueryProviderTest method shouldReturnParserQuery4.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "update God (age = @age)" })
public void shouldReturnParserQuery4(String query) {
UpdateQuery updateQuery = checkUpdateFromStart(query);
List<Condition> conditions = updateQuery.getConditions();
assertEquals(1, conditions.size());
Condition condition = conditions.get(0);
assertEquals("age", condition.getName());
assertEquals(Operator.EQUALS, condition.getOperator());
QueryValue<?> value = condition.getValue();
assertTrue(value instanceof ParamQueryValue);
assertEquals("age", ParamQueryValue.class.cast(value).get());
}
use of jakarta.nosql.query.Condition in project jnosql-diana by eclipse.
the class DeleteByMethodQueryProviderTest method shouldRunQuery29.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "deleteBySalary_Currency" })
public void shouldRunQuery29(String query) {
String entity = "entity";
DeleteQuery deleteQuery = queryProvider.apply(query, entity);
assertNotNull(deleteQuery);
assertEquals(entity, deleteQuery.getEntity());
assertTrue(deleteQuery.getFields().isEmpty());
Optional<Where> where = deleteQuery.getWhere();
assertTrue(where.isPresent());
Condition condition = where.get().getCondition();
Assertions.assertEquals("salary.currency", condition.getName());
}
use of jakarta.nosql.query.Condition in project jnosql-diana by eclipse.
the class DeleteByMethodQueryProviderTest method shouldReturnParserQuery28.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "deleteByAgeNotBetween" })
public void shouldReturnParserQuery28(String query) {
String entity = "entity";
DeleteQuery deleteQuery = queryProvider.apply(query, entity);
assertNotNull(deleteQuery);
assertEquals(entity, deleteQuery.getEntity());
assertTrue(deleteQuery.getFields().isEmpty());
Optional<Where> where = deleteQuery.getWhere();
assertTrue(where.isPresent());
Condition condition = where.get().getCondition();
QueryValue<?> value = condition.getValue();
assertEquals(Operator.NOT, condition.getOperator());
Condition notCondition = MethodConditionValue.class.cast(value).get().get(0);
assertEquals(Operator.BETWEEN, notCondition.getOperator());
QueryValue<?>[] values = MethodArrayValue.class.cast(notCondition.getValue()).get();
ParamQueryValue param1 = (ParamQueryValue) values[0];
ParamQueryValue param2 = (ParamQueryValue) values[1];
assertNotEquals(param2.get(), param1.get());
}
use of jakarta.nosql.query.Condition in project jnosql-diana by eclipse.
the class DeleteQueryProviderTest method shouldReturnParserQuery3.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "delete from God where age = 10" })
public void shouldReturnParserQuery3(String query) {
DeleteQuery deleteQuery = checkDeleteFromStart(query);
assertTrue(deleteQuery.getWhere().isPresent());
Where where = deleteQuery.getWhere().get();
Condition condition = where.getCondition();
QueryValue<?> value = condition.getValue();
Assertions.assertEquals(Operator.EQUALS, condition.getOperator());
assertEquals("age", condition.getName());
assertTrue(value instanceof NumberQueryValue);
assertEquals(10L, value.get());
}
Aggregations