1

How can I rewrite my test method to xtend? I've tried several things, but I'm failing.

Class written in xtend

import com.google.common.base.Function

class Generator {
@Property Function<Generator, CharSequence> generateSomething;

generateFoo() {
    if( null != generateSomething) {
        generateSomething.apply(this)
    }
}

TestClass written in Java

@Test
public void testX() {

    Generator gen = createGenerator()

    Function<Generator, CharSequence> generateSomething= new Function<Generator, CharSequence>() {
        @Override
        public CharSequence apply( Generator input ) {
            StringConcatenation result = new StringConcatenation();
            result.append(".......");

            return result;
        }
    };

    gen.setGenerateSomething( generateSomething );

}
GarfieldKlon
  • 11,170
  • 7
  • 31
  • 33

1 Answers1

1

Ok, I solved it like this:

import com.google.common.base.Function

class Generator {
@Property private (Generator) => CharSequence generateSomething;

generateFoo() {
    if( null != generateSomething) {
        generateSomething.apply(this)
    }
}

Rewritten test method in xtend:

@Test
def void testX() {

    Generator gen = createGenerator()

    gen.setGenerateSomething['''......''']
}
GarfieldKlon
  • 11,170
  • 7
  • 31
  • 33