diff options
| author | Bruce Yinhe <[email protected]> | 2014-08-25 15:32:58 +0200 | 
|---|---|---|
| committer | Bruce Yinhe <[email protected]> | 2014-08-25 15:32:58 +0200 | 
| commit | 6afb6f264e80fda7b127ddda3dba925972c2dff6 (patch) | |
| tree | 51a830c1ad89570e7772ce152a9de6187b9c2333 /lib/jinterface/test/jinterface_SUITE_data/FunEquals.java | |
| parent | 090890c5f629bc36571b3ff6dbdc6d42c7289cf7 (diff) | |
| parent | 7003ce74a2dfe183c3f0dff5a0500ec611721e16 (diff) | |
| download | otp-6afb6f264e80fda7b127ddda3dba925972c2dff6.tar.gz otp-6afb6f264e80fda7b127ddda3dba925972c2dff6.tar.bz2 otp-6afb6f264e80fda7b127ddda3dba925972c2dff6.zip | |
Merge branch 'maint'
Diffstat (limited to 'lib/jinterface/test/jinterface_SUITE_data/FunEquals.java')
| -rw-r--r-- | lib/jinterface/test/jinterface_SUITE_data/FunEquals.java | 71 | 
1 files changed, 71 insertions, 0 deletions
| diff --git a/lib/jinterface/test/jinterface_SUITE_data/FunEquals.java b/lib/jinterface/test/jinterface_SUITE_data/FunEquals.java new file mode 100644 index 0000000000..14f884cee7 --- /dev/null +++ b/lib/jinterface/test/jinterface_SUITE_data/FunEquals.java @@ -0,0 +1,71 @@ +/* + * %CopyrightBegin% + * + * Copyright Ericsson AB 2004-2010. All Rights Reserved. + * + * The contents of this file are subject to the Erlang Public License, + * Version 1.1, (the "License"); you may not use this file except in + * compliance with the License. You should have received a copy of the + * Erlang Public License along with this software. If not, it can be + * retrieved online at http://www.erlang.org/. + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. + * + * %CopyrightEnd% + */ + +import java.util.Arrays; + +import com.ericsson.otp.erlang.*; + +public class FunEquals { + +    /* +      Implements test case jinterface_SUITE:fun_equals/1 + +      Test the function OtpErlangFun.equals() +    */ + +    public static void main(String argv[]) { + +        OtpErlangPid pid = new OtpErlangPid("here", 4, 5, 0); +        String module = "mod"; +        int arity = 2; +        byte[] md5 = new byte[]{3,5,7}; +        int index = 2; +        long old_index = 1; +        long uniq= 2; +        OtpErlangObject[] freeVars = new OtpErlangObject[]{ +                new OtpErlangAtom("hej"), new OtpErlangLong(9) +            }; + +        OtpErlangFun f1 = new OtpErlangFun(pid, module, arity, md5, +                index, old_index, uniq, freeVars); +        OtpErlangFun f2 = new OtpErlangFun(pid, module, arity, copyArray(md5), +                index, old_index, uniq, copyArray(freeVars)); + +        if(!f1.equals(f2)) +            fail(1); + +    } + +    private static void fail(int reason) { +        System.exit(reason); +    } + +    private static byte[] copyArray(byte[] source) { +        byte[] result = new byte[source.length]; +        System.arraycopy(source, 0, result, 0, source.length); +        return result; +    } + +    private static OtpErlangObject[] copyArray(OtpErlangObject[] source) { +        OtpErlangObject[] result = new OtpErlangObject[source.length]; +        System.arraycopy(source, 0, result, 0, source.length); +        return result; +    } + +} | 
