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

📄 testsubassign.java

📁 JAVA 数学程序库 提供常规的数值计算程序包
💻 JAVA
字号:
package jmathlibtests.toolbox.jmathlib.matrix;

import jmathlib.core.interpreter.Interpreter;
import jmathlib.tools.junit.framework.*;
import jmathlibtests.Compare;

public class testSubAssign extends TestCase {
	protected Interpreter ml;

    double[][] aRe = {{1.0, 2.0, 3.0, 4.0},{1.0, 2.0, 3.0, 4.0}};
    double[][] aIm = {{0.0, 0.0, 0.0, 0.0},{0.0, 0.0, 0.0, 0.0}};
	
    public testSubAssign(String name) {
		super(name);
	}
	public static void main (String[] args) {
		jmathlib.tools.junit.textui.TestRunner.run (suite());
	}
	public static Test suite() {
		return new TestSuite(testSubAssign.class);
	}

	protected void setUp() {
		ml = new Interpreter(true);
        ml.setArray("a", aRe, aIm);
        System.out.println("*!*!*!*!*!*!*!*!*!*!*");
	}
	
    protected void tearDown() {
        ml = null;
        System.out.println("*!!!!!!!!!!!!!!!!!!!!!!!!!!!");
    }


    /****** subassign() ******************************************************/
	public void testSubAssign01() {
        ml.executeExpression("b=subassign([2],[3],1,1)");
		assertTrue(3 == ml.getScalarValueRe("b"));
	}
	public void testSubAssign02() {
        ml.executeExpression("b=subassign([2.0, 3.0, 4.0], 6.0, 1 ,2)");
   	    double[][] bRe = {{2.0, 6.0, 4.0}};
		assertTrue(Compare.ArrayEquals(bRe,  ml.getArrayValueRe("b")));
	}
   	public void testSubAssign04() {
    	ml.setArray("a", aRe, aIm);
    	//ml.executeExpression("a=[1,2,3,4;1,2,3,4]");
        ml.executeExpression("b=subassign(a,[5,5,5,5],2,1:4)");
   	    double[][] bRe = {{1.0, 2.0, 3.0, 4.0},{5.0, 5.0, 5.0, 5.0}};
		assertTrue(Compare.ArrayEquals(bRe,  ml.getArrayValueRe("b"), 0.1));
		int a=0;
		a=a+2;
		
	}
	public void testSubAssign05() {
        ml.executeExpression("b=subassign([2, 3, 4; 5, 6, 7],[8,8]', 1:2, 3)");
	    double[][] bRe = {{2.0, 3.0, 8.0},
                          {5.0, 6.0, 8.0}};
		assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("b")));
    }
    public void testSubAssign06() {
        ml.setArray("a", aRe, aIm);
        ml.executeExpression("a=subassign(a,[8,8;9,9],1:2, 1:2)");
        double[][] bRe = {{8.0, 8.0, 3.0, 4.0},
                          {9.0, 9.0, 3.0, 4.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign06a() {
        ml.executeExpression("a=subassign(a,[8,8;9,9], :, 3:4)");
   	    double[][] bRe = {{1.0, 2.0, 8.0, 8.0},
                          {1.0, 2.0, 9.0, 9.0}};
		assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign06b() {
        ml.executeExpression("a=subassign(a,[8,8;9,9], :, 2:3)");
        double[][] bRe = {{1.0, 8.0, 8.0, 4.0},
                          {1.0, 9.0, 9.0, 4.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign06c() {
        ml.executeExpression("a=subassign(a,[8,8;9,9], :, 1:2)");
        double[][] bRe = {{8.0, 8.0, 3.0, 4.0},
                          {9.0, 9.0, 3.0, 4.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign06d() {
        ml.executeExpression("a=[1,2,3,4; 5,6,7,8; 1,2,3,4]");
        ml.executeExpression("a=subassign(a,[8,8;9,9], 2:3, 2:3)");
        double[][] bRe = {{1.0, 2.0, 3.0, 4.0},
                          {5.0, 8.0, 8.0, 8.0},
                          {1.0, 9.0, 9.0, 4.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign06e() {
        ml.executeExpression("a=[1,2,3,4; 5,6,7,8; 1,2,3,4]");
        ml.executeExpression("a=subassign(a,[8,8;9,9], 1:2, 2:3)");
        double[][] bRe = {{1.0, 8.0, 8.0, 4.0},
                          {5.0, 9.0, 9.0, 8.0},
                          {1.0, 2.0, 3.0, 4.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign06f() {
        ml.executeExpression("a=[1,2,3,4; 5,6,7,8; 1,2,3,4]");
        ml.executeExpression("a=subassign(a,[8,8;9,9], 1:2, 3:4)");
        double[][] bRe = {{1.0, 2.0, 8.0, 8.0},
                          {5.0, 6.0, 9.0, 9.0},
                          {1.0, 2.0, 3.0, 4.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign06g() {
        ml.executeExpression("a=[1,2,3,4; 5,6,7,8; 1,2,3,4]");
        ml.executeExpression("a=subassign(a,[8,8;9,9], 2:3, 1:2)");
        double[][] bRe = {{1.0, 2.0, 3.0, 4.0},
                          {8.0, 8.0, 7.0, 8.0},
                          {9.0, 9.0, 3.0, 4.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    
    // some bug in subassign or AssignOperatorToken
    //   due to the bug, the example below returned b(1,2)=5 instead of 999
    public void testSubAssign07() {
        ml.executeExpression("b=[2,3,4;5,6,7]");
        ml.executeExpression("b(1,2)=999");
        ml.executeExpression("c=b(1,2)");
        assertTrue( ml.getScalarValueRe("c") == 999);
    }
    public void testSubAssign08() {
        ml.executeExpression("b=[2,3,4;5,6,7]");
        ml.executeExpression("d=subassign(b,999,1,2)");
        ml.executeExpression("c=d(1,2)");
        assertTrue( ml.getScalarValueRe("c") == 999);
    }
 
    public void testSubAssign09() {
        ml.executeExpression("b=[2,3,4;5,6,7]");
        ml.executeExpression("b(3)=55");
        ml.executeExpression("c=b(1,2)");
        assertTrue( ml.getScalarValueRe("c") == 55);
    }
    
    public void testSubAssign10() {
        ml.executeExpression("b=[2,3,4;5,6,7]");
        ml.executeExpression("b(2:4)=[55,66,77]");
        ml.executeExpression("c=b(2,1)");
        assertTrue( ml.getScalarValueRe("c") == 55);
        ml.executeExpression("c=b(1,2)");
        assertTrue( ml.getScalarValueRe("c") == 66);
        ml.executeExpression("c=b(2,2)");
        assertTrue( ml.getScalarValueRe("c") == 77);
    }

    public void testSubAssign11() {
        ml.executeExpression("b=[2,3,4;5,6,7]");
        ml.executeExpression("b(2:4)=[22,33,44]'");
        ml.executeExpression("c=b(2,1)");
        assertTrue( ml.getScalarValueRe("c") == 22);
        ml.executeExpression("c=b(1,2)");
        assertTrue( ml.getScalarValueRe("c") == 33);
        ml.executeExpression("c=b(2,2)");
        assertTrue( ml.getScalarValueRe("c") == 44);
    }

    public void testSubAssign12() {
        ml.executeExpression("b=[2,3,4;5,6,7]");
        ml.executeExpression("b(2:5)=[222,333,444,555]'");
        ml.executeExpression("c=b(2,1)");
        assertTrue( ml.getScalarValueRe("c") == 222);
        ml.executeExpression("c=b(1,2)");
        assertTrue( ml.getScalarValueRe("c") == 333);
        ml.executeExpression("c=b(2,2)");
        assertTrue( ml.getScalarValueRe("c") == 444);
        ml.executeExpression("c=b(1,3)");
        assertTrue( ml.getScalarValueRe("c") == 555);
    }

    public void testSubAssign13() {
        ml.executeExpression("b=[2,3,4;5,6,7]");
        ml.executeExpression("b(2:5)=[222,333;444,555]");
        ml.executeExpression("c=b(2,1)");
        assertTrue( ml.getScalarValueRe("c") == 222);
        ml.executeExpression("c=b(1,2)");
        assertTrue( ml.getScalarValueRe("c") == 444);
        ml.executeExpression("c=b(2,2)");
        assertTrue( ml.getScalarValueRe("c") == 333);
        ml.executeExpression("c=b(1,3)");
        assertTrue( ml.getScalarValueRe("c") == 555);
    }

    public void testSubAssign14() {
        ml.executeExpression("a=[1,2,3; 7,8,9]");
        ml.executeExpression("a=subassign(a,[8;9], :, 1)");
        double[][] bRe = {{8.0, 2.0, 3.0},
                          {9.0, 8.0, 9.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign15() {
        ml.executeExpression("a=[1,2,3; 7,8,9]");
        ml.executeExpression("a=subassign(a,[8;9], :, 2)");
        double[][] bRe = {{1.0, 8.0, 3.0},
                          {7.0, 9.0, 9.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign16() {
        ml.executeExpression("a=[1,2,3; 7,8,9]");
        ml.executeExpression("a=subassign(a,[33,44,55;66,77,88], :, :)");
        double[][] bRe = {{33.0, 44.0, 55.0},
                          {66.0, 77.0, 88.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }


    public void testSubAssign100() {
        ml.executeExpression("a=[1,2,3,7,8,9]");
        ml.executeExpression("a(8)=88");
        double[][] bRe = {{1.0, 2.0, 3.0, 7.0, 8.0, 9.0, 0.0, 88.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign101() {
        ml.executeExpression("a=[1,2,3,7,8,9]");
        ml.executeExpression("a(3)=88");
        double[][] bRe = {{1.0, 2.0, 88.0, 7.0, 8.0, 9.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign102() {
        ml.executeExpression("a=[1,2,3,7,8,9]");
        ml.executeExpression("a(8:10)=[77, 88, 99]");
        double[][] bRe = {{1.0, 2.0, 3.0, 7.0, 8.0, 9.0, 0.0, 77.0, 88.0, 99.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }

    public void testSubAssign110() {
        ml.executeExpression("a=[1;2;3;7;8;9]");
        ml.executeExpression("a(8)=99");
        double[][] bRe = {{1.0},{2.0},{3.0},{7.0},{8.0},{9.0},{0.0},{99.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign111() {
        ml.executeExpression("a=[1;2;3;7;8;9]");
        ml.executeExpression("a(3)=88");
        double[][] bRe = {{1.0},{2.0},{88.0},{7.0},{8.0},{9.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign112() {
        ml.executeExpression("a=[1,2,3,7,8,9]'");
        ml.executeExpression("a(8:10)=[66, 88, 99]'");
        double[][] bRe = {{1.0},{2.0},{3.0},{7.0},{8.0},{9.0},{0.0},{66.0},{88.0},{99.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }

    public void testSubAssign120() {
        ml.executeExpression("a=[1,2;3,4]");
        ml.executeExpression("a(1,3)=99");
        double[][] bRe = {{1.0, 2.0, 99.0},{3.0, 4.0, 0.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }
    public void testSubAssign121() {
        ml.executeExpression("a=[1,2;3,4]");
        ml.executeExpression("a(3:4,3:4)=[5.0, 6.0; 7.0, 8.0]");
        double[][] bRe = {{1.0, 2.0, 0.0, 0.0},
                          {3.0, 4.0, 0.0, 0.0},
                          {0.0, 0.0, 5.0, 6.0},
                          {0.0, 0.0, 7.0, 8.0} };
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("a")));
    }

    public void testSubAssign130() {
        ml.executeExpression("clear(aaaa)");
        ml.executeExpression("aaaa(1,3)=99");
        double[][] bRe = {{0.0, 0.0, 99.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("aaaa")));
    }
    public void testSubAssign131() {
        ml.executeExpression("clear(aaaa)");
        ml.executeExpression("aaaa(3)=999");
        double[][] bRe = {{0.0, 0.0, 999.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("aaaa")));
    }
    public void testSubAssign133() {
        ml.executeExpression("bbb=[]");
        ml.executeExpression("bbb(4)=789");
        double[][] bRe = {{0.0, 0.0, 0.0, 789.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("bbb")));
    }
    public void testSubAssign134() {
        ml.executeExpression("bbb=subassign([],[2,3,4,5],1:4)");
        double[][] bRe = {{2.0, 3.0, 4.0, 5.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("bbb")));
    }
    public void testSubAssign135() {
        ml.executeExpression("bbb=subassign([],[2,3,4,5],3:6)");
        double[][] bRe = {{0.0, 0.0, 2.0, 3.0, 4.0, 5.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("bbb")));
    }
    public void testSubAssign136() {
        ml.executeExpression("bbb=subassign([],2,5)");
        double[][] bRe = {{0.0, 0.0, 0.0, 0.0, 2.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("bbb")));
    }
    public void testSubAssign137() {
        ml.executeExpression("bbb=subassign([],4,2,5)");
        double[][] bRe = {{0.0, 0.0, 0.0, 0.0, 0.0},
                          {0.0, 0.0, 0.0, 0.0, 4.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("bbb")));
    }

    public void testSubAssign150() {
        ml.executeExpression("b=[0;0]");
        ml.executeExpression("b(1,1+4)=555");
        double[][] bRe = {{0.0, 0.0, 0.0, 0.0, 555.0},
                          {0.0, 0.0, 0.0, 0.0,   0.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("b")));
    }
    public void testSubAssign151() {
        ml.executeExpression("b=[0;0];n=2");
        ml.executeExpression("b(1,n)=444");
        double[][] bRe = {{0.0, 444.0},
                          {0.0,   0.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("b")));
        ml.executeExpression("n=n+1");
        ml.executeExpression("b(1,n)=333");
        double[][] cRe = {{0.0, 444.0, 333.0},
                          {0.0,   0.0,   0.0}};
        assertTrue(Compare.ArrayEquals(cRe, ml.getArrayValueRe("b")));
    }

    public void testSubAssign160() {
        ml.executeExpression("b=[22,33,44,55;66,77,88,99]");
        ml.executeExpression("b([2,6,3])=11");
        double[][] bRe = {{22.0, 11.0, 44.0, 55.0},
                          {11.0, 77.0, 11.0, 99.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("b")));
    }
    public void testSubAssign161() {
        ml.executeExpression("b=[22,33,44,55;66,77,88,99]");
        ml.executeExpression("b([2,3,8])=23");
        double[][] bRe = {{22.0, 23.0, 44.0, 55.0},
                          {23.0, 77.0, 88.0, 23.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("b")));
    }
    public void testSubAssign162() {
        ml.executeExpression("b=[22,33,44,55;66,77,88,99]");
        ml.executeExpression("b([1,2],[1,2,4])=55");
        double[][] bRe = {{55.0, 55.0, 44.0, 55.0},
                          {55.0, 55.0, 88.0, 55.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("b")));
    }
    public void testSubAssign163() {
        ml.executeExpression("b=[22,33,44,55;66,77,88,99]");
        ml.executeExpression("b([1,1],[3])=79.0");
        double[][] bRe = {{22.0, 33.0, 79.0, 55.0},
                          {66.0, 77.0, 88.0, 99.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("b")));
    }
    public void testSubAssign164() {
        ml.executeExpression("b=[22,33,44,55;66,77,88,99]");
        ml.executeExpression("b([1,1],[3,6])=79.0");
        double[][] bRe = {{22.0, 33.0, 79.0, 55.0, 00.0, 79.0},
                          {66.0, 77.0, 88.0, 99.0, 00.0, 00.0}};
        assertTrue(Compare.ArrayEquals(bRe, ml.getArrayValueRe("b")));
    }
    
}

⌨️ 快捷键说明

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