package org.jtwig.property.strategy.method.argument.group;
import com.google.common.base.Optional;
import org.jtwig.property.strategy.method.convert.Converter;
import org.jtwig.reflection.model.Value;
import org.jtwig.reflection.model.java.JavaMethodArgument;
import org.junit.Before;
import org.junit.Test;
import java.util.ArrayList;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
public class VarArgumentGroupTest {
private final ArrayList<Object> arguments = new ArrayList<>();
private final JavaMethodArgument javaMethodArgument = mock(JavaMethodArgument.class);
private VarArgumentGroup underTest = new VarArgumentGroup(javaMethodArgument, arguments);
@Before
public void setUp() throws Exception {
arguments.clear();
}
@Test
public void test() throws Exception {
Object object = new Object();
Converter converter = mock(Converter.class);
arguments.add(object);
given(javaMethodArgument.type()).willReturn(String[].class);
given(converter.convert(object, String.class)).willReturn(Optional.<Value>absent());
Optional<Value> result = underTest.toArgument(converter);
assertThat(result.isPresent(), is(false));
}
}