blob: c7fd29a27bfeffbe4ebcdbe50eeff2a46ab5d56d [file] [log] [blame]
/*
* Copyright 2003-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package groovy
class AssertTest extends GroovyTestCase {
void testAssert() {
def x = null
assert x == null
assert x != "abc"
assert x != "foo"
x = "abc"
assert x != "foo"
assert x != null
assert x != "def"
assert x == "abc"
assert x.equals("abc")
assert !x.equals("def")
assert !false
assert !(1 == 2)
assert !(1 > 3)
assert !(1 != 1)
}
void testAssertFail() {
def x = 1234
def runCode = false
try {
runCode = true
assert x == 5
fail("Should have thrown an exception")
}
catch (AssertionError e) {
//msg = "Expression: (x == 5). Values: x = 1234"
//assert e.getMessage() == msg
//assert e.message == msg
}
assert runCode, "has not ran the try / catch block code"
}
void testAssertMessageAndExpressionReversed() {
try {
// the order is wrong for this one ""=="" becomes
// the assertion message string. Since it is an
// expression it must made sure the expression is
// transformed into an object
assert "": "" == ""
} catch (AssertionError ae) {
assert ae.message.contains("true");
}
}
// GROOVY-1769
void testAssertWithNewlineAfterColonOrComma() {
assert true:
"Assert on newline after colon"
assert true,
"Assert on newline after comma"
}
}