2013-07-04 6 views
0

Как переписать мой метод тестирования для xtend? Я пробовал несколько вещей, но я терплю неудачу.Переписать анонимный внутренний класс на закрытие (Java -> xtend)

Класс написано в Xtend

import com.google.common.base.Function 

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

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

TestClass, написанные на 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); 

} 

ответ

0

Хорошо, я решил это следующим образом:

import com.google.common.base.Function 

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

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

Переписан метод испытания в Xtend:

@Test 
def void testX() { 

    Generator gen = createGenerator() 

    gen.setGenerateSomething['''......'''] 
} 
Смежные вопросы