Skip to content

Commit fa56f7b

Browse files
author
linzhijun
committed
fix
1 parent d66f703 commit fa56f7b

File tree

9 files changed

+1198
-1483
lines changed

9 files changed

+1198
-1483
lines changed

csharp/ToolGood.Algorithm.Test/AlgorithmEngine/AlgorithmEngineTest.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -215,40 +215,40 @@ public void base_test5()
215215
public void Cylinder_Test()
216216
{
217217
Cylinder c = new Cylinder(3, 10);
218-
var t = c.TryEvaluate("[半径]*[半径]*pi()", 0.0); //圆底面积
218+
//var t = c.TryEvaluate("[半径]*[半径]*pi()", 0.0); //圆底面积
219219
var t2 = c.TryEvaluate("半径*半径*pi()", 0.0); //圆底面积
220220

221221
// v3.5 后 不支持这类定义 {} 用于定义 数组 或json
222222
// var t3 = c.TryEvaluate("{半径}*{半径}*pi()", 0.0); //圆底面积
223223

224-
var t4 = c.TryEvaluate("@半径*@半径*pi()", 0.0); //圆底面积
225-
var t5 = c.TryEvaluate("#半径#*#半径#*pi()", 0.0); //圆底面积
226-
var t6 = c.TryEvaluate("【半径】*【半径】*pi()", 0.0); //圆底面积
227-
var t7 = c.TryEvaluate("【半径】*【半径】*pi()", 0.0); //圆底面积
224+
//var t4 = c.TryEvaluate("@半径*@半径*pi()", 0.0); //圆底面积
225+
//var t5 = c.TryEvaluate("#半径#*#半径#*pi()", 0.0); //圆底面积
226+
//var t6 = c.TryEvaluate("【半径】*【半径】*pi()", 0.0); //圆底面积
227+
//var t7 = c.TryEvaluate("【半径】*【半径】*pi()", 0.0); //圆底面积
228228

229-
Assert.AreEqual(t, t2);
230-
//Assert.AreEqual(t, t3);
231-
Assert.AreEqual(t, t4);
232-
Assert.AreEqual(t, t5);
233-
Assert.AreEqual(t, t6);
234-
Assert.AreEqual(t, t7);
229+
//Assert.AreEqual(t, t2);
230+
////Assert.AreEqual(t, t3);
231+
//Assert.AreEqual(t, t4);
232+
//Assert.AreEqual(t, t5);
233+
//Assert.AreEqual(t, t6);
234+
//Assert.AreEqual(t, t7);
235235

236-
t = c.TryEvaluate("[直径]*pi()", 0.0); //圆的长
237-
t = c.TryEvaluate("[半径]*[半径]*pi()*[高]", 0.0); //圆的体积
236+
var t = c.TryEvaluate("直径*pi()", 0.0); //圆的长
237+
t = c.TryEvaluate("半径*半径*pi()*", 0.0); //圆的体积
238238

239239
//if (c.Parse("[直径1]*pi()") == false) {
240240
// Assert.AreEqual("参数[直径1]无效!", c.LastError);
241241
//}
242242

243-
t = c.TryEvaluate("['半径']*[半径]*pi()*[高]", 0.0); //圆的体积
243+
t = c.TryEvaluate("'半径'*半径*pi()*", 0.0); //圆的体积
244244

245245
t = c.TryEvaluate("求面积(10)", 0.0); //圆的体积
246246
Assert.AreEqual(10 * 10 * Math.PI, t, 10);
247247

248248
var json = "{'灰色':'L','canBookCount':905,'saleCount':91,'specId':'43b0e72e98731aed69e1f0cc7d64bf4d'}";
249249
c.AddParameterFromJson(json);
250250

251-
var tt = c.TryEvaluate("['灰色']", ""); //圆的体积
251+
var tt = c.TryEvaluate("灰色", ""); //圆的体积
252252
Assert.AreEqual("L", tt);
253253

254254
//String tt2 = c.EvaluateFormula("'圆'-[半径]-高", '-');

csharp/ToolGood.Algorithm.Test/AlgorithmEngine/AlgorithmEngineTest_csharp.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,8 +295,8 @@ public void Json()
295295
var dt3 = engine.TryEvaluate("{\"w11\":false}", "");
296296
Assert.AreEqual(dt3.ToString(), "{\"w11\":false}");
297297

298-
dt3 = engine.TryEvaluate("[1,2,3,4]", "");
299-
Assert.AreEqual(dt3.ToString(), "{\"w11\":false}");
298+
dt3 = engine.TryEvaluate("[1,2,3,4]", "");
299+
Assert.AreEqual(dt3.ToString(), "[1,2,3,4]");
300300

301301

302302
}

csharp/ToolGood.Algorithm.Test/AlgorithmEngine/AlgorithmEngineTest_v3.5.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,19 +79,19 @@ public void array_test()
7979
{
8080
AlgorithmEngine engine = new AlgorithmEngine();
8181
engine.UseExcelIndex = true;
82-
int num = engine.TryEvaluate("{1,2,3,4,}[2]", 0);
82+
int num = engine.TryEvaluate("[1,2,3,4,][2]", 0);
8383
Assert.AreEqual(num, 2);
8484

85-
String str = engine.TryEvaluate("{1,2,3,4,'555'}[5]", "");
85+
String str = engine.TryEvaluate("[1,2,3,4,'555'][5]", "");
8686
Assert.AreEqual(str, "555");
8787

8888
// 'HAS' | 'HASKEY' |'CONTAINS'|'CONTAINSKEY' 指向同一函数
8989
// 'HASVALUE' | 'CONTAINSVALUE' 指向同一函数 与上面的逻辑相同
90-
bool b = engine.TryEvaluate("{1,2,3,4,}.has('1')", false);
90+
bool b = engine.TryEvaluate("[1,2,3,4,].has('1')", false);
9191
Assert.AreEqual(b, true);
92-
b = engine.TryEvaluate("{'abc','age'}.hasKey('age')", false);
92+
b = engine.TryEvaluate("['abc','age'].hasKey('age')", false);
9393
Assert.AreEqual(b, true);
94-
b = engine.TryEvaluate("{'abc','age'}.hasValue('age')", false);
94+
b = engine.TryEvaluate("['abc','age'].hasValue('age')", false);
9595
Assert.AreEqual(b, true);
9696

9797
b = engine.TryEvaluate("json(\"['abc','age']\").has('age')", false);

csharp/ToolGood.Algorithm.Test/AlgorithmEngineHelper/AlgorithmEngineHelperTest.cs

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,14 @@ public class AlgorithmEngineHelperTest
99
[Test]
1010
public void Test()
1111
{
12-
DiyNameInfo p = AlgorithmEngineHelper.GetDiyNames("[dd]");
13-
Assert.AreEqual("dd", p.Parameters[0].ToString());
14-
p = AlgorithmEngineHelper.GetDiyNames("@dd");
15-
Assert.AreEqual("dd", p.Parameters[0].ToString());
16-
p = AlgorithmEngineHelper.GetDiyNames("#dd#");
17-
Assert.AreEqual("dd", p.Parameters[0].ToString());
18-
p = AlgorithmEngineHelper.GetDiyNames("dd");
12+
DiyNameInfo p = AlgorithmEngineHelper.GetDiyNames("dd");
1913
Assert.AreEqual("dd", p.Parameters[0].ToString());
14+
2015

21-
// 注,这里的 ddd 是数组内有 ddd
22-
DiyNameInfo p2 = AlgorithmEngineHelper.GetDiyNames("{ddd}");
23-
Assert.AreEqual("ddd", p2.Parameters[0].ToString());
2416

25-
DiyNameInfo p3 = AlgorithmEngineHelper.GetDiyNames("【dd】");
17+
DiyNameInfo p3 = AlgorithmEngineHelper.GetDiyNames("dd");
2618
Assert.AreEqual("dd", p3.Parameters[0].ToString());
27-
p3 = AlgorithmEngineHelper.GetDiyNames("【dd.1】");
28-
Assert.AreEqual("dd.1", p3.Parameters[0].ToString());
29-
30-
DiyNameInfo p4 = AlgorithmEngineHelper.GetDiyNames("@ddd+2");
31-
Assert.AreEqual("ddd", p4.Parameters[0].ToString());
32-
p4 = AlgorithmEngineHelper.GetDiyNames("ddd+2");
33-
Assert.AreEqual("ddd", p4.Parameters[0].ToString());
19+
3420

3521
DiyNameInfo p5 = AlgorithmEngineHelper.GetDiyNames("ddd(d1,22)");
3622
Assert.AreEqual("ddd", p5.Functions[0]);
@@ -39,7 +25,7 @@ public void Test()
3925
DiyNameInfo p6 = AlgorithmEngineHelper.GetDiyNames("长");
4026
Assert.AreEqual("长", p6.Parameters[0].ToString());
4127

42-
DiyNameInfo p7 = AlgorithmEngineHelper.GetDiyNames("#ddd#+2");
28+
DiyNameInfo p7 = AlgorithmEngineHelper.GetDiyNames("ddd+2");
4329
Assert.AreEqual("ddd", p7.Parameters[0].ToString());
4430
}
4531

csharp/ToolGood.Algorithm.Test/ConditionTrees/ConditionTreeTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public void Test7()
107107
[Test]
108108
public void Test8()
109109
{
110-
string txt = "AA.IsText()==bb && (dd=ss || {tt}=22)";
110+
string txt = "AA.IsText()==bb && (dd=ss || [tt]=22)";
111111
var tree = ConditionTree.Parse(txt);
112112

113113
Assert.AreEqual(tree.Type, ConditionTreeType.And);
@@ -119,7 +119,7 @@ public void Test8()
119119

120120
Assert.AreEqual("AA.IsText()==bb", txt.Substring(t1.Start, t1.End - t1.Start + 1));
121121
Assert.AreEqual("dd=ss", txt.Substring(t3.Start, t3.End - t3.Start + 1));
122-
Assert.AreEqual("{tt}=22", txt.Substring(t4.Start, t4.End - t4.Start + 1));
122+
Assert.AreEqual("[tt]=22", txt.Substring(t4.Start, t4.End - t4.Start + 1));
123123
}
124124

125125
[Test]

csharp/ToolGood.Algorithm.Test/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ private static void Main(string[] args)
2525
var k = engine.TryEvaluate("json('{\"Name\":\"William Shakespeare \",\"Age\":51,\"Birthday\":\"04/26/1564 00:00:00\"}')[Name].Trim()", null);//Return to "William Shakespeare" 返回"William Shakespeare" (不带空格)
2626
var l = engine.TryEvaluate("json('{\"Name1\":\"William Shakespeare \",\"Age\":51,\"Birthday\":\"04/26/1564 00:00:00\"}')['Name'& 1].Trim().substring(2,3)", null); ;//Return "ill" 返回"ill"
2727
var n = engine.TryEvaluate("{Name:\"William Shakespeare\", Age:51, Birthday:\"04/26/1564 00:00:00\"}.Age", null);//Return 51 返回51
28-
var m = engine.TryEvaluate("{1,2,3,4,5,6}.has(13)", true);//Return false 返回false
28+
var m = engine.TryEvaluate("[1,2,3,4,5,6].has(13)", true);//Return false 返回false
2929

3030
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
3131
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");

0 commit comments

Comments
 (0)