blob: e58a4c5b51b59eb83ff4dac9ac174f2ea7fc270e [file] [log] [blame]
/**
* ConstructorThisCallBug.groovy
*
* Test Script for the Jira issue: GROOVY-994.
*
* @author Pilho Kim
* @date 2005.08.05.06.21
*/
package groovy.bugs
public class ConstructorThisCallBug extends GroovyTestCase {
public void testCallA() {
println "Testing for a class without call()"
def a1 = new ConstructorCallA("foo")
def a2 = new ConstructorCallA(9)
def a3 = new ConstructorCallA()
}
void testCallB() {
println "Testing for a class with call()"
def b1 = new ConstructorCallB('bar')
def b2 = new ConstructorCallB(9)
def b3 = new ConstructorCallB()
}
}
public class ConstructorCallA {
public ConstructorCallA() {
this(19) // call another constructor
println "(1) no argument consructor"
}
public ConstructorCallA(String a) {
println "(2) String value a = $a"
}
public ConstructorCallA(int a) {
this("" + (a*a)) // call another constructor
println "(3) int value a = $a"
}
}
public class ConstructorCallB {
public ConstructorCallB() {
println '1: no argument consructor'
this(19) // call the method call()
}
public ConstructorCallB(String b) {
println """2: String value b = $b"""
}
public ConstructorCallB(int b) {
println """3: int value b = $b"""
this('' + (b + b)) // call the method call()
}
void call(Object o) {
println "Hello, $o"
}
}