blob: 95d2a2e7c6dfce050e9918fb7486b688b23608d2 [file] [log] [blame]
package ioc.specs
import org.apache.tapestry5.ioc.services.DefaultImplementationBuilder
class DefaultImplementationBuilderImplSpec extends AbstractSharedRegistrySpecification {
DefaultImplementationBuilder builder = getService(DefaultImplementationBuilder)
def "default simple interface does nothing"() {
Runnable r = builder.createDefaultImplementation(Runnable)
when:
r.run()
then:
assert r.toString() == "<NoOp java.lang.Runnable>"
}
def "when toString() is part of interface, the default returns null"() {
ToString ts = builder.createDefaultImplementation(ToString)
expect:
ts.toString() == null
}
def "built instances are cached (by type)"() {
Runnable r1 = builder.createDefaultImplementation(Runnable)
Runnable r2 = builder.createDefaultImplementation(Runnable)
expect:
r1.is r2
}
}