ko/archetype/src/main/resources/archetype-resources/src/test/java/InconsistencyTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 09 Sep 2013 19:35:12 +0200
changeset 1274 c4f83529954d
parent 870 rt/archetype/src/main/resources/archetype-resources/src/test/java/InconsistencyTest.java@448bed1f6d5a
permissions -rw-r--r--
Keeping just the ko-archetype for bck2brwsr and fxbrwsr
     1 package ${package};
     2 
     3 import org.apidesign.bck2brwsr.vmtest.Compare;
     4 import org.apidesign.bck2brwsr.vmtest.VMTest;
     5 import org.testng.annotations.Factory;
     6 
     7 /** Bck2brwsr cares about compatibility with real Java. Whatever API is
     8  * supported by bck2brwsr, it needs to behave the same way as when running
     9  * in HotSpot VM. 
    10  * <p>
    11  * There can be bugs, however. To help us fix them, we kindly ask you to 
    12  * write an "inconsistency" test. A test that compares behavior of the API
    13  * between real VM and bck2brwsr VM. This class is skeleton of such test.
    14  */
    15 public class InconsistencyTest {
    16     /** A method to demonstrate inconsistency between bck2brwsr and HotSpot.
    17      * Make calls to an API that behaves strangely, return some result at
    18      * the end. No need to use any <code>assert</code>.
    19      * 
    20      * @return value to compare between HotSpot and bck2brwsr
    21      */
    22     @Compare
    23     public int checkStringHashCode() throws Exception {
    24         return "Is string hashCode the same?".hashCode();
    25     }
    26 
    27     /** Factory method that creates a three tests for each method annotated with
    28      * {@link org.apidesign.bck2brwsr.vmtest.Compare}. One executes the code in
    29      * HotSpot, one in Rhino and the last one compares the results.
    30      * 
    31      * @see org.apidesign.bck2brwsr.vmtest.VMTest
    32      */
    33     @Factory
    34     public static Object[] create() {
    35         return VMTest.create(InconsistencyTest.class);
    36     }
    37     
    38 }