1   package com.lexicalscope.fluentreflection.endtoend;
2   
3   import static com.lexicalscope.fluentreflection.FluentReflection.type;
4   import static com.lexicalscope.fluentreflection.ReflectionMatchers.hasArgumentCount;
5   import static org.hamcrest.MatcherAssert.assertThat;
6   
7   import org.hamcrest.Matchers;
8   import org.junit.Test;
9   
10  import com.lexicalscope.fluentreflection.ReflectionMatchers;
11  
12  
13  public class TestReflectionOnConstructors {
14      static class TwoConstructorsWithDifferentNumbersOfArguments {
15          public TwoConstructorsWithDifferentNumbersOfArguments(final String argumentZero) {
16          }
17  
18          public TwoConstructorsWithDifferentNumbersOfArguments(final String argumentZero, final Integer argumentOne) {
19          }
20      }
21  
22      @Test
23      public void canFindConstructorsByTheNumberOfArguments() {
24          assertThat(type(TwoConstructorsWithDifferentNumbersOfArguments.class).constructors(
25                  hasArgumentCount(2)), Matchers.contains(ReflectionMatchers.hasArguments(
26                  String.class,
27                  Integer.class)));
28      }
29  }