@Test public void Multiply() { assertToString("cat.bodyWeight * ?1", cat.bodyWeight.multiply(10)); }
@Test public void Multiply_And_Compare() { assertToString("cat.bodyWeight * ?1 < ?1", cat.bodyWeight.multiply(10.0).lt(10.0)); }
@Test public void Multiply_And_Subtract() { assertToString("cat.bodyWeight * ?1 - ?2", cat.bodyWeight.multiply(10).subtract(20)); }
@Test public void Multiply_And_Add() { assertToString("cat.bodyWeight * ?1 + ?2", cat.bodyWeight.multiply(10).add(20)); }
@Test public void MathematicalOperations() { // mathematical operators +, -, *, / cat.bodyWeight.add(kitten.bodyWeight); cat.bodyWeight.subtract(kitten.bodyWeight); cat.bodyWeight.multiply(kitten.bodyWeight); cat.bodyWeight.divide(kitten.bodyWeight); }
@Test public void Arithmetic_And_Arithmetic2() { QCat c1 = new QCat("c1"); QCat c2 = new QCat("c2"); QCat c3 = new QCat("c3"); assertToString("c1.id + c2.id * c3.id", c1.id.add(c2.id.multiply(c3.id))); assertToString("c1.id * (c2.id + c3.id)", c1.id.multiply(c2.id.add(c3.id))); assertToString("(c1.id + c2.id) * c3.id", c1.id.add(c2.id).multiply(c3.id)); }
@Test public void Case2() { QCat cat = QCat.cat; JPQLSerializer serializer = new JPQLSerializer(JPQLTemplates.DEFAULT); Expression<?> expr = Expressions.cases().when(cat.toes.eq(2)).then(cat.id.multiply(2)) .when(cat.toes.eq(3)).then(cat.id.multiply(3)) .otherwise(4); serializer.handle(expr); assertEquals("case when (cat.toes = ?1) then (cat.id * ?1) when (cat.toes = ?2) then (cat.id * ?2) else ?3 end", serializer.toString()); }
@Test @ExcludeIn(ORACLE) public void Multiply_BigDecimal() { QSimpleTypes entity = new QSimpleTypes("entity1"); QSimpleTypes entity2 = new QSimpleTypes("entity2"); NumberPath<BigDecimal> bigd1 = entity.bigDecimal; NumberPath<BigDecimal> bigd2 = entity2.bigDecimal; query().from(entity, entity2) .where(bigd1.multiply(bigd2).loe(new BigDecimal("1.00"))) .list(entity); }
@Test public void Case2_Hibernate() { QCat cat = QCat.cat; JPQLSerializer serializer = new JPQLSerializer(HQLTemplates.DEFAULT); Expression<?> expr = Expressions.cases().when(cat.toes.eq(2)).then(cat.id.multiply(2)) .when(cat.toes.eq(3)).then(cat.id.multiply(3)) .otherwise(4); serializer.handle(expr); assertEquals("case when (cat.toes = ?1) then (cat.id * ?1) when (cat.toes = ?2) then (cat.id * ?2) else 4 end", serializer.toString()); }
@Test public void Case3() { assertEquals(ImmutableList.of(4, 4, 4, 4, 4, 4), query().from(cat).list(Expressions.cases() .when(cat.toes.in(2, 3)).then(cat.id.multiply(cat.toes)) .otherwise(4))); }
@Test @ExcludeIn(ORACLE) public void Multiply() { QSimpleTypes entity = new QSimpleTypes("entity1"); QSimpleTypes entity2 = new QSimpleTypes("entity2"); query().from(entity, entity2) .where(entity.ddouble.multiply(entity2.ddouble).loe(2.0)) .list(entity); }
@Test public void ToString() { assertToString("cat", cat); assertToString("cat.alive", cat.alive); assertToString("cat.bodyWeight", cat.bodyWeight); assertToString("cat.name", cat.name); assertToString("cust.name", cust.name); assertToString("cust.name.firstName = ?1", cust.name.firstName.eq("Martin")); // toString("cat.kittens as kitten", cat.kittens.as(kitten)); assertToString("cat.bodyWeight + ?1", cat.bodyWeight.add(10)); assertToString("cat.bodyWeight - ?1", cat.bodyWeight.subtract(10)); assertToString("cat.bodyWeight * ?1", cat.bodyWeight.multiply(10)); assertToString("cat.bodyWeight / ?1", cat.bodyWeight.divide(10)); // toString("cat.bodyWeight as bw", cat.bodyWeight.as("bw")); assertToString("kitten in elements(cat.kittens)", kitten.in(cat.kittens)); // toString("distinct cat.bodyWeight", distinct(cat.bodyWeight)); }