1+ @page
2+ @{
3+ Layout = null ;
4+ }
5+ <!DOCTYPE html>
6+ <html >
7+ <head >
8+ <title >QUnit Test Suite</title >
9+ <script src =" _framework/blazor.webassembly.js" autostart =" false" ></script >
10+ <script src =" /toolgood.algorithm.js" ></script >
11+ <link href =" /qunit/qunit.css" rel =" stylesheet" />
12+ </head >
13+ <body >
14+ <h1 id =" qunit-header" >QUnit Test Suite</h1 >
15+ <h2 id =" qunit-banner" ></h2 >
16+ <div id =" qunit-testrunner-toolbar" ></div >
17+ <h2 id =" qunit-userAgent" ></h2 >
18+ <ol id =" qunit-tests" ></ol >
19+ </body >
20+ <script src =" /qunit/qunit.js" ></script >
21+ <script >
22+
23+ QUnit .module (' test' , function () {
24+ QUnit .test (' Test' , async function (assert ) {
25+ await new Promise (resolve => setTimeout (resolve, 300 ));
26+
27+ engine = new AlgorithmEngine ();
28+
29+ var c = engine .TryEvaluate (" 2+3" , 0 );
30+ assert .equal (5 , c);
31+ c = engine .TryEvaluate (" (2)+3" , 0 );
32+ assert .equal (5 , c);
33+ c = engine .TryEvaluate (" 2+3*2+10/2*4" , 0 );
34+ assert .equal (28 , c);
35+
36+ c = engine .TryEvaluate (" if(2+3*2+10/2*4,1" , 0 );
37+ assert .equal (0 , c);
38+
39+ c = engine .TryEvaluate (" 2.1e3 + 10" , 0 );
40+ assert .equal (2110 , c);
41+
42+ c = engine .TryEvaluate (" 2.1e+03 + 10" , 0 );
43+ assert .equal (2110 , c);
44+
45+ c = engine .TryEvaluate (" 2.1e+3 + 10" , 0 );
46+ assert .equal (2110 , c);
47+
48+ var d = engine .TryEvaluate (" 2.1e-3 + 10" , 0.0 );
49+ assert .equal (10.0021 , d);
50+
51+
52+ var e = engine .TryEvaluate (" e" , 0.0 );
53+ assert .equal (Math .E , e, 11 );
54+ e = engine .TryEvaluate (" pi" , 0.0 );
55+ assert .equal (Math .PI , e, 11 );
56+
57+ var b = engine .TryEvaluate (" true" , false );
58+ assert .equal (true , b);
59+ b = engine .TryEvaluate (" false" , true );
60+ assert .equal (false , b);
61+
62+ var b1 = engine .TryEvaluate (" if(true,1,2)" , 0 );
63+ assert .equal (1 , b1);
64+
65+ b1 = engine .TryEvaluate (" if(false,1,2)" , 0 );
66+ assert .equal (2 , b1);
67+
68+ var b2 = engine .TryEvaluate (" pi*4" , 0.0 );
69+ assert .equal (Math .PI * 4 , b2, 10 );
70+ b2 = engine .TryEvaluate (" e*4" , 0.0 );
71+ assert .equal (Math .E * 4 , b2, 10 );
72+
73+ var s = engine .TryEvaluate (" 'aa'&'bb'" , " " );
74+ assert .equal (" aabb" , s);
75+
76+ s = engine .TryEvaluate (" '3'+2" , " " );
77+ assert .equal (" 5" , s);
78+
79+ var r = engine .TryEvaluate (" count(Array(1,2,3,4))" , 0 );
80+ assert .equal (4 , r);
81+
82+
83+ r = engine .TryEvaluate (" (1=1)*9+2" , 0 );
84+ assert .equal (11 , r);;
85+ r = engine .TryEvaluate (" (1=2)*9+2" , 0 );
86+ assert .equal (2 , r);;
87+
88+ var dt = engine .TryEvaluate (" '2016-1-1'+1" , new Date ());
89+ assert .equal (new Date (" 2016-1-2" ), dt);
90+ dt = engine .TryEvaluate (" '2016-1-1'+9*'1:0'" , new Date ());
91+ assert .equal (new Date (" 2016-1-1 9:0" ), dt);;
92+
93+ var value = engine .TryEvaluate (" 1 > (-2)" , false );
94+ assert .equal (value, true );
95+
96+
97+ value = engine .TryEvaluate (" (-1) > (-2)" , false );
98+ assert .equal (value, true );
99+
100+
101+ value = engine .TryEvaluate (" -1 > (-2)" , false );
102+ assert .equal (value, true );
103+
104+ value = engine .TryEvaluate (" -1 > -2" , false );
105+ assert .equal (value, true );
106+
107+ var value2 = engine .TryEvaluate (" -1 > -2" , false );
108+ assert .equal (value2, true );
109+
110+
111+ var value3 = engine .TryEvaluate (" -7 < -2" , false );
112+ assert .equal (value3, true );
113+
114+ var t1 = engine .TryEvaluate (" -7 < -2 ?1 : 2" , 0 );
115+ assert .equal (t1, 1 );
116+ t1 = engine .TryEvaluate (" -7 < -2 ?1 : 2" , 0 );
117+ assert .equal (t1, 1 );
118+
119+ t1 = engine .TryEvaluate (" -7 < -2 ?1 :2" , 0 );
120+ assert .equal (t1, 1 );
121+ t1 = engine .TryEvaluate (" -7 < -2 ? 1 : 2" , 0 );
122+ assert .equal (t1, 1 );
123+ t1 = engine .TryEvaluate (" -7 < -2 ?1 : 2" , 0 );
124+ assert .equal (t1, 1 );
125+
126+ t1 = engine .TryEvaluate (" -7 < -2 ?1 : 2" , 0 );
127+ assert .equal (t1, 1 );
128+
129+ t1 = engine .TryEvaluate (" (!(-7 < -2))?1:2" , 0 );
130+ assert .equal (t1, 2 );
131+ t1 = engine .TryEvaluate (" 1>2?1:2" , 0 );
132+ assert .equal (t1, 2 );
133+
134+ t1 = engine .TryEvaluate (" 1!=2?1:2" , 0 );
135+ assert .equal (t1, 1 );
136+
137+ var t2 = engine .TryEvaluate (" Asc('abcABC123')" , " " );
138+ assert .equal (t2, " abcABC123" );
139+ });
140+ });
141+
142+
143+ </script >
144+ @* <script src="/test/test.js"></script>
145+ <script src="/test/test-csharp.js"></script>
146+ <script src="/test/test-datetime.js"></script>
147+ <script src="/test/test-flow.js"></script>
148+ <script src="/test/test-math.js"></script>
149+ <script src="/test/test-string.js"></script>
150+ <script src="/test/test-vlookup.js"></script> *@
151+ </html >
0 commit comments