| 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' } |  | } | 
 |