コード例 #1
0
  /**
   * Tests whether the refactoring
   *
   * @throws Exception In case of an unexpected exception.
   */
  @Test
  public void testRefactorCaseMethodAddDifferentParam() throws Exception {
    VariationPoint vp = RefactoringTestUtil.getMethodAddDifferentParamCase(VariabilityType.OPTXOR);
    IfStaticConfigClassMethod refactoring = new IfStaticConfigClassMethod();
    refactoring.refactor(vp, null);

    // location has two methods
    Class vpLocation = (Class) ((JaMoPPJavaSoftwareElement) vp.getLocation()).getJamoppElement();
    assertThat(vpLocation.getMethods().size(), equalTo(2));

    Method firstMethod = vpLocation.getMethods().get(0);
    Method secondMethod = vpLocation.getMethods().get(1);

    // assert number of parameters
    assertThat(firstMethod.getParameters().size(), anyOf(equalTo(1), equalTo(2)));
    assertThat(secondMethod.getParameters().size(), anyOf(equalTo(1), equalTo(2)));
    assertThat(
        firstMethod.getParameters().size(), not(equalTo(secondMethod.getParameters().size())));

    // assert method names and return types
    assertThat(firstMethod.getName(), equalTo("someMethod"));
    assertThat(secondMethod.getName(), equalTo("someMethod"));
    assertThat(firstMethod.getTypeReference(), instanceOf(Void.class));
    assertThat(secondMethod.getTypeReference(), instanceOf(Void.class));

    // verify correct VPM
    RefactoringTestUtil.assertValidVPM(vp);
  }
コード例 #2
0
  /**
   * Tests whether the refactoring
   *
   * @throws Exception In case of an unexpected exception.
   */
  @Test
  public void testRefactorCaseMethodAddSameParam() throws Exception {
    VariationPoint vp = RefactoringTestUtil.getMethodAddSameParamCase(VariabilityType.OPTXOR);
    IfStaticConfigClassMethod refactoring = new IfStaticConfigClassMethod();
    refactoring.refactor(vp, null);

    // location has one method
    Class vpLocation = (Class) ((JaMoPPJavaSoftwareElement) vp.getLocation()).getJamoppElement();
    assertThat(vpLocation.getMethods().size(), equalTo(1));

    // assert number of parameters
    assertThat(vpLocation.getMethods().get(0).getParameters().size(), equalTo(0));

    // assert method name and return type
    assertThat(vpLocation.getMethods().get(0).getTypeReference(), instanceOf(Void.class));

    // verify correct VPM
    RefactoringTestUtil.assertValidVPM(vp);
  }