| 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
 | | Quintiq file version 2.0 |  | #parent: #root |  | Method VerifyKPIMargin ( |  |   MacroPlan macroplan, |  |   Real expectedValue, |  |   Real epsilon, |  |   Real timeoutInSeconds, |  |   Real elapsedInSeconds |  | ) as stream[UTF_UnitTestMPBase] |  | { |  |   TextBody: |  |   [* |  |     actual := macroplan.GetKPIMargin().Round( 0 ); |  |     currency := macroplan.BaseCurrency().Name(); |  |     kpiMatch := GlobalParameters_MP::GetIsBalanceWithinAbsoluteTolerance( actual, expectedValue, epsilon ); |  |      |  |     ret := emit( this ); |  |      |  |     if( not kpiMatch ) |  |     { |  |       if( elapsedInSeconds < timeoutInSeconds ) |  |       { |  |         waitFor := 0.5; |  |         wait := stream[Void]::Wait( Duration::Seconds( waitFor ) ); |  |         ret := ret->After( wait )->VerifyKPIMargin( macroplan, expectedValue, epsilon, timeoutInSeconds, elapsedInSeconds + waitFor ); |  |       } |  |       else |  |       { |  |         this.Run().RegisterFailure( 'Expected KPI value for Margin is ' + [String]expectedValue + ' ' + currency + ' but actual value is ' + [String]actual  + ' ' + currency); |  |       } |  |     } |  |      |  |     return ret; |  |   *] |  |   InterfaceProperties { Accessibility: 'Module' } |  | } | 
 |