GitHub user mureinik opened a pull request:

    https://github.com/apache/commons-lang/pull/375

    JUnit Jupiter migration completion

    This patch finalizes the upgrade of commons-lang's tests to use JUnit 
Jupiter and removes the Vintage Engine dependency entirely.
    
    While most of these changes are drop-in replacements with no functional 
benefit, there are some non-obvious changes worth mentioning.
    
    Unlike `org.junit.Assert.assertEquals(double, double, double)`, 
`org.junit.jupiter.api.Assertions.assertEquals(double, double, double)` does 
not support deltas of zero, only strictly positive deltas.
    This issue will be addressed in JUnit Jupiter 5.4 (see 
https://github.com/junit-team/junit5/pull/1613 for details). In the meanwhile, 
`assertTrue(expected==actual)` was used, and `TODO` comments were placed in the 
code to refactor it to assertEquals once JUnit 5.4 is available.
    
    Unlike `org.junit.Test`, `org.junit.jupiter.api.Test` does not have an 
`expected` argument. Instead, an explicit call to 
`org.junit.jupiter.api.Assertions.assertThrows` is used.
    
    Unlike `org.junit.Test`, `org.junit.jupiter.api.Test` does not have a 
`timeout` argument either. Instead, an explicit call to 
`org.junit.jupiter.api.Assertions.assertTimeoutPreemptively` is used.
    
    JUnit Jupiter also no longer has the concept of Rules. Usages of the 
`SystemDefaultsSwitch` rule and its accompanying annotates were replaced with 
the `@DefaultLocale` annotation that @britter contributed to JUnit Pioneer, the 
semi-official JUnit extension project, or simply removed entirely where they 
had no use (i.e., from `StringUtilsEqulasIndexOfTest`).
    Following the removal of their usages, the `@SystemDefaults` annotation, 
the `SystemDefaultsSwitch` rule and the `SystemDefaultsSwitchTest` class that 
tests them had no more use, and they were removed entirely.
    
    It's also worth noting this is a minimal patch for migrating the package's 
tests to Jupiter. There are several tests that can be made more elegant with 
Jupiter's new features, but that work is left for subsequent patches.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/mureinik/commons-lang junit-jupiter

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/commons-lang/pull/375.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #375
    
----
commit 57fbe7e96eec45507dcbe030c3d9ea975f33342f
Author: Allon Mureinik <mureinik@...>
Date:   2018-10-11T13:21:52Z

    StringUtilsEqulasIndexOfTest @Rules
    
    Commit 0223a4 removed all the usages of @SystemDefaults annotations from
    this test, but left behind a pointless SystemDefaultsSwitch rule. This
    patch finishes the job and removes this unused rule.

commit 9a3e1d743bc4c8563cf71c521b4d392e302dfbc6
Author: Allon Mureinik <mureinik@...>
Date:   2018-10-02T03:41:37Z

    Update tests to JUnit Jupiter
    
    This patch finalizes the upgrade of commons-lang's tests to use JUnit
    Jupiter and remove the Vintage Engine dependency entirely.
    
    While most of these changes are drop-in replacements with no functional
    benefit, there are some non-obvious changes worth mentioning.
    
    Unlike org.junit.Assert.assertEquals(double, double, double),
    org.junit.jupiter.api.Assertions.assertEquals(double, double, double)
    does not support deltas of zero, only strictly positive deltas.
    This issue will be addressed in JUnit Jupiter 5.4 (see
    https://github.com/junit-team/junit5/pull/1613 for details). In the
    meanwhile, assertTrue(expected==actual) was used, and TODO comments were
    placed in the code to refactor it to assertEquals once JUnit 5.4 is
    available.
    
    Unlike org.junit.Test, org.junit.jupiter.api.Test does not have an
    "expected" argument. Instead, an explicit call to
    org.junit.jupiter.api.Assertions.assertThrows is used.
    
    Unlike org.junit.Test, org.junit.jupiter.api.Test does not have a
    "timeout" argument either. Instead, an explicit call to
    org.junit.jupiter.api.Assertions.assertTimeoutPreemptively is used.
    
    JUnit Jupiter also no longer has the concept of Rules. Usages of the
    SystemDefaultsSwitch rule and its accompanying annotates were replaced
    with the @DefaultLocale annotation that Benedikt Ritter contributed to
    JUnit Pioneer, the semi-official JUnit extension project.
    Following the removal of their usages, the SystemDefaults annotation,
    the SystemDefaultsSwitch rule and the SystemDefaultsSwitchTest class
    that tests them had no more use, and they were removed entirely.
    
    It's also worth noting this is a minimal patch for migrating the
    package's tests to Jupiter. There are several tests that can be made
    more elegant with Jupiter's new features, but that work is left for
    subsequent patches.

----


---

Reply via email to