⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testjmatlink.java

📁 jsp和matlab 连接的 极其简单
💻 JAVA
字号:
/*
 * Created on 23.05.2005
 *
 */
package jmatlink.testsuite.jmatlink;

import jmatlink.*;
import junit.framework.TestCase;

/**
 * @author stefan
 *
 */
public class testJMatLink extends TestCase {

    JMatLink jmatlink  = new JMatLink();
    
    //public void testJMatLink() {
    //    jmatlink = new JMatLink ();
    //    //jmatlink.engOpenSingleUse();
    //}

    /**
     * Used to set up the test. This method is called by JUnit before each of
     * the tests are executed.
     *** This method is not used any more, because there are many testcases which 
     *    envolve explicitely open and closing of the engine 
     *     */
    //protected void setUp () {
       // jmatlink = new JMatLink ();
       // jmatlink.engOpen();
    //}

    /**
     * Used to clean up after the test. This method is called by JUnit after
     * each of the tests has been completed.
     *** This method is not used any more, because there are many testcases which 
     *    envolve explicitely open and closing of the engine 
     */
    //protected void tearDown () {
    //  jmatlink.engClose();
    //  jmatlink.kill();
    //}


    public void testJMatLinkConstructor() {
        jmatlink = new JMatLink ();
        jmatlink = new JMatLink ();
        jmatlink = new JMatLink ();
        jmatlink = new JMatLink ();
        jmatlink.engOpen();
        
        
    }
    
    /*
     * Class under test for void engEvalString(String)
     */
    public void testEngEvalStringString() {
        jmatlink = new JMatLink ();
        jmatlink.engOpen();
        jmatlink.engEvalString("a=33;b=[1,4,6];"); 
        assertTrue(Math.abs(33.0 - jmatlink.engGetScalar("a"))<0.01);
        jmatlink.engClose();
    }

    /*
     * Class under test for double engGetScalar(String)
     */
    public void testEngGetScalarString() {
        jmatlink = new JMatLink ();
        jmatlink.engOpen();

        jmatlink.engEvalString("b=rand(4);barfoo=123.765;c=44.5;"); 
        
        assertTrue(Math.abs(123.765 - jmatlink.engGetScalar("barfoo"))<0.0001);
        
        jmatlink.engClose();
    }

   
    /*
     * Class under test for double[][] engGetArray(int, String)
     */
    public void testEngGetArrayintString() {
        jmatlink = new JMatLink ();
        jmatlink.engOpen();
        jmatlink.engClose();
    }

    public void testEngGetCharArray01() {
        jmatlink = new JMatLink();
        jmatlink.engOpen();
        String arrayName = "myArray";
        String testString = "Test this.";
        jmatlink.engEvalString(arrayName + " = '" + testString + "'");
        assertTrue(testString.equals(jmatlink.engGetCharArray(arrayName)[0]));
        jmatlink.engClose();
    }

    /*
     * Class under test for void engPutArray(String, int)
     */
    public void testEngPutArrayStringint01() {
        final String VAR_NAME = "myVar";
        jmatlink = new JMatLink();
        jmatlink.engOpen();
        
        jmatlink.engPutArray(VAR_NAME, Math.PI);
        
        double shouldBePi = jmatlink.engGetScalar(VAR_NAME);
        
        assertTrue(Math.abs(Math.PI - shouldBePi)<0.01);
        
        jmatlink.engClose();
    }


    /*
     * Class under test for void engPutArray(String, double[])
     */
    public void testEngPutArrayStringdoubleArray() {
            final int ARRAY_SIZE = 100;
            final String ARRAY_NAME = "myArray";
            double[] myOriginalArray = new double[ARRAY_SIZE];
            jmatlink = new JMatLink();
            jmatlink.engOpen();

            for (int i=0; i<10; i++) {
              myOriginalArray[i] = Math.random();
            }
            jmatlink.engPutArray(ARRAY_NAME, myOriginalArray);
            double[][] myRetrievedArray = jmatlink.engGetArray(ARRAY_NAME);
            for (int i=0; i<ARRAY_SIZE; i++) {
              assertTrue(Math.abs(myOriginalArray[i] - myRetrievedArray[0][i]) <0.001);
            }

            jmatlink.engClose();
    }


    /*
     * Class under test for void engPutArray(String, double[][])
     */
    public void testEngPutArrayStringdoubleArrayArray() {
          final int FIRST_ARRAY_SIZE = 30;
          final int SECOND_ARRAY_SIZE = 100;
          final String ARRAY_NAME = "myArray";
          double[][] myOriginalArray =
              new double[FIRST_ARRAY_SIZE][SECOND_ARRAY_SIZE];

        jmatlink = new JMatLink();
        jmatlink.engOpen();

        for (int i=0; i<FIRST_ARRAY_SIZE; i++) {
          for (int j=0; j<SECOND_ARRAY_SIZE; j++) {
            myOriginalArray[i][j] = 100.0 * Math.random();
          }
        }
        jmatlink.engPutArray(ARRAY_NAME, myOriginalArray);
        double[][] myRetrievedArray = jmatlink.engGetArray(ARRAY_NAME);
        for (int i=0; i<FIRST_ARRAY_SIZE; i++) {
          for (int j=0; j<SECOND_ARRAY_SIZE; j++) {
            assertTrue(Math.abs(myOriginalArray[i][j]-myRetrievedArray[i][j])<0.0001 );
          }
        }
        jmatlink.engClose();

    }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -