package org.jtwig.property.strategy.method.argument.group;
import com.google.common.base.Optional;
import org.jtwig.reflection.model.java.JavaMethod;
import org.junit.Test;
import java.util.List;
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 GroupingArgumentsServiceTest {
private GroupingArgumentsService underTest = new GroupingArgumentsService();
@Test
public void groupArgumentsNonVarArgsDifferentNumberOfArguments() throws Exception {
JavaMethod javaMethod = mock(JavaMethod.class);
Object[] arguments = {};
given(javaMethod.isVarArgs()).willReturn(false);
given(javaMethod.numberOfArguments()).willReturn(1);
Optional<List<ArgumentGroup>> result = underTest.groupArguments(javaMethod, arguments);
assertThat(result.isPresent(), is(false));
}
@Test
public void groupArgumentsVarArgsDifferentNumberOfArguments() throws Exception {
JavaMethod javaMethod = mock(JavaMethod.class);
Object[] arguments = {};
given(javaMethod.isVarArgs()).willReturn(true);
given(javaMethod.numberOfArguments()).willReturn(2);
Optional<List<ArgumentGroup>> result = underTest.groupArguments(javaMethod, arguments);
assertThat(result.isPresent(), is(false));
}
}