陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
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
Quintiq file version 2.0
#parent: #root
Method VerifySanityCheckViolationOnUnit (
  MacroPlan macroplan,
  Unit parent,
  Boolean hassanitycheck,
  Boolean hasenableshiftoptimizationonchild,
  Boolean hasdisabledshiftoptimizationonchild,
  String testdescription
)
{
  Description: 'Check whether sanity check violated on SanityCheckGroupData, group=Unit'
  TextBody:
  [*
    SanityCheckGroup::DoSanityCheck( parent.MacroPlan() );
    group := SanityCheckGroupData::GetSanityCheckGroup( macroplan, Unit::GetDefinitionName() );
    if ( hassanitycheck ) 
    { 
      if ( this.Run().AssertNotIsNull( group , "There is 1 sanitycheckdata violation on unit for scenario " + testdescription  ) )
      {
        this.Run().AssertEqual( 1, parent.SanityCheckMessageData( relsize ), "There should be 1 data warning on parent unit for scenario " + testdescription );
      }
    } 
    else
    {
       this.Run().AssertEqual( 0, parent.SanityCheckMessageData( relsize ) , "No violation, sanity check message should not generated for scenario " + testdescription );
    } 
    
    this.Run().AssertTrue( parent.HasEnableShiftOptimizationOnChildren() = hasenableshiftoptimizationonchild, "parent.HasEnableShiftOptimizationOnChildren should be " + [String]hasenableshiftoptimizationonchild + " for scenario " + testdescription);
    this.Run().AssertTrue( parent.HasDisableShiftOptimizationOnChildren() = hasdisabledshiftoptimizationonchild, "parent.HasDisableShiftOptimizationOnChildren should be " +[String]hasdisabledshiftoptimizationonchild + " for scenario " + testdescription );
  *]
  InterfaceProperties { Accessibility: 'Module' }
}