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