| career | drupal | java | mac | mysql | perl | scala | uml | unix  

Groovy example source code file (

This example Groovy source code file ( is included in the "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Groovy tags/keywords

arraylist, case, closure, groovytestcase, integer, integer, list, object, object, stringbuffer, stringbuffer, switch, throwable, throwable, util

The Groovy source code

 * Copyright 2003-2011 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
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.
package org.codehaus.groovy.runtime;

import groovy.lang.Closure;
import groovy.util.GroovyTestCase;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

 * Tests method invocation
 * @author <a href="">James Strachan
 * @version $Revision: 21515 $
public class InvokeGroovyMethodTest extends GroovyTestCase {

    private StringBuffer buffer;

    // Method invocation tests

    public void testInvokeMethodNoParams() throws Throwable {
        buffer = new StringBuffer();

        List list = new ArrayList();

        InvokerHelper.invokeMethod(list, "each", new Closure(this) {
            protected Object doCall(Object arguments) {
                return null;

        assertEquals("buffer", "abcdef", buffer.toString());

    public void testMatchesWithObject() throws Throwable {
        assertMatches(new Integer(1), new Integer(1), true);
        assertMatches(new Integer(1), new Integer(2), false);

    public void testMatchesWithClass() throws Throwable {
        assertMatches(new Integer(1), Integer.class, true);
        assertMatches(new Integer(1), Number.class, true);
        assertMatches(new Integer(1), Double.class, false);

    public void testMatchesWithList() throws Throwable {
        assertMatches(new Integer(1), Arrays.asList(new Object[]{new Integer(2), new Integer(1)}), true);
        assertMatches(new Integer(1), Arrays.asList(new Object[]{new Integer(2), new Integer(3)}), false);

    // Implementation methods
    protected void assertMatches(Object switchValue, Object caseValue, boolean expected) {
                "Switch on: " + switchValue + " Case: " + caseValue,
                ((Boolean) (InvokerHelper.invokeMethod(caseValue, "isCase", switchValue))).booleanValue());


Other Groovy examples (source code examples)

Here is a short list of links related to this Groovy source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller


new blog posts


Copyright 1998-2021 Alvin Alexander,
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.