|
Groovy example source code file (InterfaceConversionTest.groovy)
The Groovy InterfaceConversionTest.groovy source code
/*
* 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 org.codehaus.groovy.runtime
class InterfaceConversionTest extends GroovyTestCase {
void testClosureConversion() {
def c1 = {Object[] args -> args?.length}
def c2 = c1 as InterfaceConversionTestFoo
assert !(c1 instanceof InterfaceConversionTestFoo)
assert c2 instanceof InterfaceConversionTestFoo
assert c2.a() == null
assert c2.b(null) == 1
}
void testMapConversion() {
def m1 = [a: {1}, b: {2}]
def m2 = m1 as InterfaceConversionTestFoo
assert !(m1 instanceof InterfaceConversionTestFoo)
assert m2 instanceof InterfaceConversionTestFoo
assert m2.a() == 1
assert m2.b(null) == 2
}
}
interface InterfaceConversionTestFoo {
def a()
def b(Integer i)
}
Other Groovy examples (source code examples)Here is a short list of links related to this Groovy InterfaceConversionTest.groovy source code file: |
Other websites by Alvin Alexander:
Life/living in Alaska (OneMansAlaska.com)
How I Sold My Business (HowISoldMyBusiness.com)
Copyright 1998-2011 Alvin Alexander, devdaily.com
All Rights Reserved.