lazhen
2025-01-09 8afe90b633046db39042aada36b88193062f8cff
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
Quintiq file version 2.0
#parent: #root
Method VerifyHasMinCapacitySanityCheck (
  Unit fleet,
  MacroPlan macroplan
)
{
  Description: 'Check the minimum capacity sanity check warning'
  TextBody:
  [*
    // Refresh sanity check
    SanityCheckGroup::DoSanityCheck( macroplan );
    
    // Verify minimum capacity sanity check
    warning := counter( fleet, UnitPeriod.SanityCheckMessageMinimumUnitCapacity, msg, true, true );
    this.Run().AssertTrue( warning > 0, 'Verify unit minimum capacity sanity check warning failed, ' + [String] warning + ' warning found' );
                                
    // Verify minimum capacity constraint
    isallviolated := forall( fleet, UnitPeriod.astype( UnitPeriodTransportQuantity ), period, period.IsPlanning(), not period.IsPlannedGreaterThanMinimumQuantity() );
    this.Run().AssertTrue( isallviolated, 
                           'Verify unit period transport quantity failed, expect IsPlannedGreaterThanMinimumQuantity is false for all' );
    
    isallviolated := forall( fleet, UnitPeriod.astype( UnitPeriodTransportQuantity ), period, period.IsPlanning(), not period.IsPlannedGreaterThanSecondaryMinimumQuantity() );
    this.Run().AssertTrue( isallviolated, 
                           'Verify unit period transport quantity failed, expect IsPlannedGreaterThanSecondaryMinimumQuantity is false for all' );
  *]
  InterfaceProperties { Accessibility: 'Module' }
}