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
39
40
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Method VerifyCampaignPlannedValue ( 
 |    Unit unit, 
 |    String campaigntype, 
 |    RealVector expectedfulfilledqty, 
 |    RealVector expectedptcquantity, 
 |    RealVector expectedutilizationpercentage, 
 |    String operator, 
 |    Number nrofcampaigns 
 |  ) 
 |  { 
 |    Description: 'Verify FulfilledQuantity for Campaign PeriodTaskInCampaign, PeriodTaskInTransition, utilization percentage for campaign' 
 |    TextBody: 
 |    [* 
 |      campaigns := selectsortedset( unit, Campaign_MP, cam, cam.CampaignTypeName() = campaigntype, cam.Start() ); 
 |      index :=0  
 |       
 |      traverse( campaigns, Elements, campaign, index < nrofcampaigns ) 
 |      { 
 |        ptcs := selectsortedset( campaign, OperationInCampaign.PeriodTaskInCampaign, ptc, true, ptc.PeriodTaskOperation().Start() ); 
 |        ptc := ptcs.Element( 0 ); 
 |         
 |        if ( operator = '=' ) 
 |        { 
 |          this.Run().AssertEqual( expectedfulfilledqty.Get( index ), campaign.FulfilledQuantity().Round( 0 ), 'Verify Campaign.FufilledQuantity for CampaignType ['+ campaigntype+'].' ); 
 |          this.Run().AssertEqual( expectedptcquantity.Get( index ), ptc.Quantity().Round( 0 ), 'Verify PeriodInCampaign.Quantity for CampaignType ['+ campaigntype+ '].'); 
 |          this.Run().AssertEqual( expectedutilizationpercentage.Get( index ), ( campaign.Utilization() * 100 ).Round( 0 ), 'Verify Campaign.Utilization for Campaign type ['+ campaigntype +'.' ); 
 |        } 
 |        else 
 |        { 
 |           this.Run().AssertGreaterOrEqual( expectedfulfilledqty.Get( index ), campaign.FulfilledQuantity().Round( 0 ), 'Verify Campaign.FufilledQuantity for CampaignType ['+ campaigntype+'].' ); 
 |           this.Run().AssertGreaterOrEqual( expectedptcquantity.Get( index ), ptc.Quantity().Round( 0 ), 'Verify PeriodInCampaign.Quantity for CampaignType ['+ campaigntype+ '].'); 
 |           this.Run().AssertGreaterOrEqual( expectedutilizationpercentage.Get( index ), ( campaign.Utilization() * 100 ).Round( 0 ), 'Verify Campaign.Utilization for Campaign type ['+ campaigntype +'.' ); 
 |        } 
 |        index++; 
 |      } 
 |    *] 
 |    InterfaceProperties { Accessibility: 'Module' } 
 |  } 
 |  
  |