1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| Quintiq file version 2.0
| #parent: #root
| Method VerifyOptimizerPuzzleCopy (
| Scenario scenario,
| String puzzlename,
| String description,
| Real timeout,
| Real elapsed
| )
| {
| TextBody:
| [*
|
| opt := DatasetFindOptions::Construct( scenario.DatasetName() );
| mp := MDSMacroPlan::Find( opt );
|
| mp->( macroplan )
| {
| mypuzzle := select( macroplan, OptimizerPuzzle, op, op.Name() = puzzlename );
|
| if( not isnull( mypuzzle ) )
| {
| this.Run().AssertEqual( description, mypuzzle.Description(), "Description of optimizer puzzle not matched." );
| }
| else
| {
| if( elapsed < timeout )
| {
| waitFor := 0.5;
| wait := stream[Void]::Wait( Duration::Seconds( waitFor ) );
| this->After( wait )->VerifyOptimizerPuzzleCopy( scenario, puzzlename, description, timeout, elapsed + waitFor);
| }
|
| }
| }
| *]
| InterfaceProperties { Accessibility: 'Module' }
| }
|
|