Quintiq file version 2.0
|
#parent: #root
|
Method VerifyStockLevelInDaysWithShelfLife (
|
MacroPlan macroplan,
|
String expectations
|
)
|
{
|
TextBody:
|
[*
|
// Each line will be checked to verify result
|
traverse( expectations.Tokenize( String::NewLine() ), Elements, line )
|
{
|
expectedStock := line.Tokenize( ',' );
|
p := expectedStock.Element( 0 ).TrimBoth();
|
sp := expectedStock.Element( 1 ).TrimBoth();
|
start := this.ConvertToDateTime( expectedStock.Element( 2 ), macroplan );
|
periodSpec := expectedStock.Element( 3 ).TrimBoth();
|
expectedInvEnd := this.ConvertToReal( expectedStock.Element( 4 ) );
|
expectedExpiryQty := this.ConvertToReal( expectedStock.Element( 5 ) );
|
expectedStockInDays := this.ConvertToReal( expectedStock.Element( 6 ) );
|
|
// Find corresponded pispip
|
pisp := macroplan.GetProductInStockingPoint( p, sp );
|
pispip := select( pisp, ProductInStockingPointInPeriod, pispip,
|
pispip.Start() = start and not isnull( pispip.PeriodSpecificationInPISP() ),
|
pispip.PeriodSpecificationInPISP().PeriodSpecification_MP().ID() = periodSpec );
|
|
// Check inventory level end is propagated
|
this.Run().AssertEqual( expectedInvEnd, pispip.InventoryLevelEnd(), this.GetErrorMessage( pispip, "inventory level end does not match." ) );
|
// Check inventory expired quantity
|
this.Run().AssertEqual( expectedExpiryQty, pispip.ExpiredInPeriodShelfLifeSupplyQuantity(), this.GetErrorMessage( pispip, "expiry quantity does not match." ) );
|
// Check expected stock level in days = actual result
|
this.Run().AssertEqual( expectedStockInDays, pispip.StockLevelInDays(), this.GetErrorMessage( pispip, "stock level in days does not match." ) );
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|