📄 testdotoperatortoken.java
字号:
package jmathlibtests.core.tokens;
import jmathlib.core.interpreter.Interpreter;
import jmathlib.tools.junit.framework.*;
import jmathlibtests.*;
public class testDotOperatorToken extends TestCase {
protected Interpreter ml;
public testDotOperatorToken(String name) {
super(name);
}
public static void main (String[] args) {
jmathlib.tools.junit.textui.TestRunner.run (suite());
}
protected void setUp() {
ml = new Interpreter(true);
}
public static Test suite() {
return new TestSuite(testDotOperatorToken.class);
}
/************* simple expressions ****************************************/
public void testSimple01() {
ml.executeExpression("a=struct('b',2,'c',3)");
ml.executeExpression("r=a.b");
assertTrue(2 == ml.getScalarValueRe("r"));
}
public void testSimple02() {
ml.executeExpression("a=struct('b',2,'c',3)");
ml.executeExpression("r=a.c");
assertTrue(3 == ml.getScalarValueRe("r"));
}
public void testSimple03() {
ml.executeExpression("a=struct('b',4,'c',5); a.b=11");
ml.executeExpression("r=a.b");
assertTrue(11 == ml.getScalarValueRe("r"));
}
public void testSimple04() {
ml.executeExpression("a=struct('b',6,'c',7);");
ml.executeExpression("r=7+a.b");
assertTrue(ml.getScalarValueRe("r") == 13);
}
public void testSimple05() {
ml.executeExpression("a=struct('b',6,'c',7);");
ml.executeExpression("r=7+a.b+2");
assertTrue(ml.getScalarValueRe("r") == 15);
}
public void testSimple06() {
ml.executeExpression("a=struct('b',6,'c',7);");
ml.executeExpression("r=a.b+2");
assertTrue(ml.getScalarValueRe("r") == 8);
}
/******** functions ********/
public void testFunctions01() {
ml.executeExpression("a=struct('b',0,'c',1);");
ml.executeExpression("r=a.b.cos()");
assertTrue(ml.getScalarValueRe("r") == 1);
}
public void testFunctions02() {
ml.executeExpression("a=struct('b',1,'c',0);");
ml.executeExpression("r=a.c.sin()");
assertTrue(ml.getScalarValueRe("r") == 0);
}
public void testFunctions03() {
ml.executeExpression("c=1");
ml.executeExpression("r=c.sin().asin()");
assertTrue(ml.getScalarValueRe("r") == 1);
}
public void testFunctions04() {
ml.executeExpression("c=0");
ml.executeExpression("r=c.cos()+2");
assertTrue(ml.getScalarValueRe("r") == 3);
}
public void testFunctions05() {
ml.executeExpression("c=0");
ml.executeExpression("r=3+c.sin()+4");
assertTrue(ml.getScalarValueRe("r") == 7);
}
public void testFunctions06() {
ml.executeExpression("c=0");
ml.executeExpression("r=4+c.cos()+5");
assertTrue(ml.getScalarValueRe("r") == 10);
}
public void testFunctions07() {
ml.executeExpression("c=0");
ml.executeExpression("r=min(c.cos(), 2)+5");
assertTrue(ml.getScalarValueRe("r") == 6);
}
public void testFunctions08() {
ml.executeExpression("c=0");
ml.executeExpression("r=min(c.cos(), 0.5)+5");
assertTrue(ml.getScalarValueRe("r") == 5.5);
}
/*********** test matrices *************/
public void testMatrix01() {
double[][] dr = {{1.0, 2.0}};
ml.executeExpression("a=struct('b',1,'c',-4);");
ml.executeExpression("r=[a.b,2]");
assertTrue(Compare.ArrayEquals(dr, ml.getArrayValueRe("r")));
}
public void testMatrix02() {
double[][] dr = {{1.0, 2.0}};
ml.executeExpression("a=struct('b',1,'c',-4);");
ml.executeExpression("r=[a.b 2]");
assertTrue(Compare.ArrayEquals(dr, ml.getArrayValueRe("r")));
}
public void testMatrix03() {
double[][] dr = {{3.0, -4.0}};
ml.executeExpression("a=struct('b',1,'c',-4);");
ml.executeExpression("r=[3,a.c]");
assertTrue(Compare.ArrayEquals(dr, ml.getArrayValueRe("r")));
}
public void testMatrix04() {
double[][] dr = {{3.0, -4.0}};
ml.executeExpression("a=struct('b',1,'c',-4);");
ml.executeExpression("r=[3 a.c]");
assertTrue(Compare.ArrayEquals(dr, ml.getArrayValueRe("r")));
}
public void testMatrix05() {
double[][] dr = {{1.0, -4.0}};
ml.executeExpression("a=struct('b',0,'c',-4);");
ml.executeExpression("r=[a.b.cos() a.c]"); // bug missing ,
assertTrue(Compare.ArrayEquals(dr, ml.getArrayValueRe("r"),0.01));
}
public void testMatrix06() {
double[][] dr = {{1.0, -4.0}};
ml.executeExpression("a=struct('b',0,'c',-4);");
ml.executeExpression("r=[a.b.cos(), a.c]");
assertTrue(Compare.ArrayEquals(dr, ml.getArrayValueRe("r"), 0.01));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -