[#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:
Lukas Eder 2012-09-01 13:33:19 +02:00
parent db728ae1e4
commit e94931f85e
2 changed files with 14 additions and 8 deletions

View File

@ -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)

View File

@ -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