[#1773] Add a new jOOQ-Scala project and jooq-scala artefactId, to
contain jOOQ extensions in the Scala language - Added arithmetic negation operator
This commit is contained in:
parent
db728ae1e4
commit
e94931f85e
@ -130,6 +130,8 @@ object Conversions {
|
||||
// Arithmetic operations
|
||||
// ---------------------
|
||||
|
||||
def unary_- : Field[T]
|
||||
|
||||
def +(value : Number) : Field[T]
|
||||
def +(value : Field[_ <: Number]) : Field[T]
|
||||
|
||||
@ -230,6 +232,8 @@ object Conversions {
|
||||
// Arithmetic operations
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
def unary_- = underlying.neg()
|
||||
|
||||
def +(value : Number) = underlying.add(value)
|
||||
def +(value : Field[_ <: Number]) = underlying.add(value)
|
||||
|
||||
|
||||
@ -21,17 +21,19 @@ class ArithmeticExpressionTest extends FunSuite {
|
||||
val div2 = T_BOOK.ID / 2
|
||||
val mod1 = T_BOOK.ID % T_BOOK.AUTHOR_ID
|
||||
val mod2 = T_BOOK.ID % 2
|
||||
val neg1 = -T_BOOK.ID
|
||||
|
||||
assert("(t_book.id + t_book.author_id)" == add1.toString(), add1.toString())
|
||||
assert("(t_book.id + 2)" == add2.toString(), add2.toString())
|
||||
assert("(t_book.id - t_book.author_id)" == sub1.toString(), sub1.toString())
|
||||
assert("(t_book.id - 2)" == sub2.toString(), sub2.toString())
|
||||
assert("(t_book.id * t_book.author_id)" == mul1.toString(), mul1.toString())
|
||||
assert("(t_book.id * 2)" == mul2.toString(), mul2.toString())
|
||||
assert("(t_book.id / t_book.author_id)" == div1.toString(), div1.toString())
|
||||
assert("(t_book.id / 2)" == div2.toString(), div2.toString())
|
||||
assert("(t_book.id + t_book.author_id)" == add1.toString(), add1.toString())
|
||||
assert("(t_book.id + 2)" == add2.toString(), add2.toString())
|
||||
assert("(t_book.id - t_book.author_id)" == sub1.toString(), sub1.toString())
|
||||
assert("(t_book.id - 2)" == sub2.toString(), sub2.toString())
|
||||
assert("(t_book.id * t_book.author_id)" == mul1.toString(), mul1.toString())
|
||||
assert("(t_book.id * 2)" == mul2.toString(), mul2.toString())
|
||||
assert("(t_book.id / t_book.author_id)" == div1.toString(), div1.toString())
|
||||
assert("(t_book.id / 2)" == div2.toString(), div2.toString())
|
||||
assert("mod(t_book.id, t_book.author_id)" == mod1.toString(), mod1.toString())
|
||||
assert("mod(t_book.id, 2)" == mod2.toString(), mod2.toString())
|
||||
assert("-(t_book.id)" == neg1.toString(), neg1.toString())
|
||||
|
||||
// Check for the correct application of operator precedence
|
||||
val combined1 = T_BOOK.ID + T_BOOK.AUTHOR_ID * 2
|
||||
|
||||
Loading…
Reference in New Issue
Block a user