Changeset 7154 for branches/HeuristicLab.TimeSeries/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs
- Timestamp:
- 12/07/11 22:47:12 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs
r7129 r7154 315 315 Evaluate(interpreter, ds, "(lagVariable 1.0 a -1) ", 2, ds.GetDoubleValue("A", 1)); 316 316 Evaluate(interpreter, ds, "(lagVariable 1.0 a 0) ", 2, ds.GetDoubleValue("A", 2)); 317 Evaluate(interpreter, ds, "(lagVariable 1.0 a 1) ", 0, ds.GetDoubleValue("A", 1));317 //Evaluate(interpreter, ds, "(lagVariable 1.0 a 1) ", 0, ds.GetDoubleValue("A", 1)); 318 318 319 319 // integral 320 320 Evaluate(interpreter, ds, "(integral -1.0 (variable 1.0 a)) ", 1, ds.GetDoubleValue("A", 0) + ds.GetDoubleValue("A", 1)); 321 Evaluate(interpreter, ds, "(integral -1.0 (lagVariable 1.0 a 1)) ", 1, ds.GetDoubleValue("A", 1) + ds.GetDoubleValue("A", 2));321 Evaluate(interpreter, ds, "(integral -1.0 (lagVariable 1.0 a -1)) ", 3, ds.GetDoubleValue("A", 1) + ds.GetDoubleValue("A", 2)); 322 322 Evaluate(interpreter, ds, "(integral -2.0 (variable 1.0 a)) ", 2, ds.GetDoubleValue("A", 0) + ds.GetDoubleValue("A", 1) + ds.GetDoubleValue("A", 2)); 323 323 Evaluate(interpreter, ds, "(integral -1.0 (* (variable 1.0 a) (variable 1.0 b)))", 1, ds.GetDoubleValue("A", 0) * ds.GetDoubleValue("B", 0) + ds.GetDoubleValue("A", 1) * ds.GetDoubleValue("B", 1)); … … 336 336 337 337 // timelag 338 Evaluate(interpreter, ds, "(lag -1.0 (lagVariable 1.0 a 2)) ", 1, ds.GetDoubleValue("A", 2));339 Evaluate(interpreter, ds, "(lag -2.0 (lagVariable 1.0 a 2)) ", 2, ds.GetDoubleValue("A", 2));340 Evaluate(interpreter, ds, "(lag -1.0 (* (lagVariable 1.0 a 1) (lagVariable 1.0 b 2)))", 1, ds.GetDoubleValue("A", 1) * ds.GetDoubleValue("B", 2));338 Evaluate(interpreter, ds, "(lag -1.0 (lagVariable 1.0 a -2)) ", 5, ds.GetDoubleValue("A", 2)); 339 Evaluate(interpreter, ds, "(lag -2.0 (lagVariable 1.0 a -2)) ", 5, ds.GetDoubleValue("A", 1)); 340 Evaluate(interpreter, ds, "(lag -1.0 (* (lagVariable 1.0 a -1) (lagVariable 1.0 b -2)))", 3, ds.GetDoubleValue("A", 1) * ds.GetDoubleValue("B", 0)); 341 341 Evaluate(interpreter, ds, "(lag -2.0 3.0)", 1, 3.0); 342 342 … … 349 349 Evaluate(interpreter, ds, @"(PROG 350 350 (MAIN (lagVariable 1.0 a -1) (lagVariable 1.0 b -1)))", new string[] { "A", "B" }, Enumerable.Range(1, 2), 3, 351 new[] { new[] { 1.0, 1.0, 1.0 }, new[] { 1.0, 1.0, 1.0 } }, 352 new[] { new[] { 2.0, 2.0, 2.0 }, new[] { 2.0, 2.0, 2.0 } } 351 new[] { new[] { 1.0, 1.0}, 352 new[] { 1.0, 1.0}, 353 new[] { 1.0, 1.0}}, 354 new[] { new[] { 2.0, 2.0}, 355 new[] { 2.0, 2.0}, 356 new[] { 2.0, 2.0} } 353 357 ); 354 358 … … 364 368 Evaluate(interpreter, ds, @"(PROG 365 369 (MAIN (lagVariable 2.0 a -2) (lagVariable 1.0 a -1)))", new string[] { "A", "B" }, Enumerable.Range(2, 3), 4, 366 new[] { new[] { 2.0, 4.0, 4.0, 8.0 }, new[] { 2.0, 2.0, 4.0, 4.0 } }, 367 new[] { new[] { 4.0, 2.0, 8.0, 4.0 }, new[] { 1.0, 4.0, 2.0, 8.0 } }, 368 new[] { new[] { 2.0, 2.0, 4.0, 4.0 }, new[] { 1.0, 2.0, 2.0, 4.0 } } 370 new[] { new[] { 2.0, 2.0}, 371 new[] { 4.0, 2.0}, 372 new[] { 4.0, 4.0}, 373 new[] { 8.0, 4.0}}, 374 new[] { new[] { 4.0, 1.0}, 375 new[] { 2.0, 4.0}, 376 new[] { 8.0, 2.0}, 377 new[] { 4.0, 8.0}}, 378 new[] { new[] { 2.0, 1.0}, 379 new[] { 2.0, 2.0}, 380 new[] { 4.0, 2.0}, 381 new[] { 4.0, 4.0}} 369 382 ); 370 383 } … … 384 397 ISymbolicExpressionTree tree = importer.Import(expr); 385 398 386 var allPrognosis = interpreter.GetSymbolicExpressionTreeValues(tree, ds, targetVariables, rows, horizon) ;399 var allPrognosis = interpreter.GetSymbolicExpressionTreeValues(tree, ds, targetVariables, rows, horizon).GetEnumerator(); 387 400 int i = 0; 388 foreach (var actual in allPrognosis) { 389 var actualEnumerator = actual.GetEnumerator(); 390 var expectedEnumerator = expected[i].GetEnumerator(); 391 while (actualEnumerator.MoveNext() & expectedEnumerator.MoveNext()) { 392 var aEnumerator = actualEnumerator.Current.GetEnumerator(); 401 var expectedEnumerator = expected[i].GetEnumerator(); 402 while (allPrognosis.MoveNext()) { 403 while (expectedEnumerator.MoveNext()) { 393 404 var eEnumerator = expectedEnumerator.Current.GetEnumerator(); 394 while (aEnumerator.MoveNext() & eEnumerator.MoveNext()) { 395 Assert.IsFalse(double.IsNaN(aEnumerator.Current) && !double.IsNaN(eEnumerator.Current)); 396 Assert.IsFalse(!double.IsNaN(aEnumerator.Current) && double.IsNaN(eEnumerator.Current)); 397 Assert.AreEqual(eEnumerator.Current, aEnumerator.Current, 1.0E-12, expr); 405 while (eEnumerator.MoveNext()) { 406 Assert.IsFalse(double.IsNaN(allPrognosis.Current) && !double.IsNaN(eEnumerator.Current)); 407 Assert.IsFalse(!double.IsNaN(allPrognosis.Current) && double.IsNaN(eEnumerator.Current)); 408 Assert.AreEqual(eEnumerator.Current, allPrognosis.Current, 1.0E-12, expr); 409 allPrognosis.MoveNext(); 398 410 } 399 411 }
Note: See TracChangeset
for help on using the changeset viewer.