platform01.gms : 플랫폼 기능 테스트

설명

이 테스트는 "platformCode" 함수와 시스템 속성이
"플랫폼"이 동기화되어 있으며 컴파일 시간 상수 %platformCode.XXX%가 있습니다.
예상대로 작동합니다.

기고자: Lutz Westermann, 2021년 4월

소형 모델 유형 :GAMS


카테고리 : GAMS 테스트 라이브러리


메인 파일 : platform01.gms

$title 테스트 platformCode 함수 (PLATFORM01,SEQ=861)

$onText
이 테스트는 "platformCode" 기능과 시스템 속성이
"플랫폼"이 동기화되어 있으며 컴파일 시간 상수 %platformCode.XXX%가 있습니다.
예상대로 작동합니다.

기고자: Lutz Westermann, 2021년 4월
$offText

$eval myPf 플랫폼 코드

$ifThenI %system.메가 슬롯%==DEX
$ifE %myPf%<>%platformCode.DEX% $abort PlatformCode는 %platformCode.DEX%여야 합니다.
$elseIfI %system.메가 슬롯%==LAX
$ifE %myPf%<>%platformCode.LAX% $abort PlatformCode는 %platformCode.LAX%여야 합니다.
$elseIfI %system.메가 슬롯%==LEX
$ifE %myPf%<>%platformCode.LEX% $abort PlatformCode는 %platformCode.LEX%여야 합니다.
$elseIfI %system.메가 슬롯%==WEX
$ifE %myPf%<>%platformCode.WEX% $abort PlatformCode는 %platformCode.WEX%여야 합니다.
$elseIfI %system.메가 슬롯%==DAX
$ifE %myPf%<>%platformCode.DAX% $abort PlatformCode는 %platformCode.DAX%여야 합니다.
$else
$abort 알 수 없는 플랫폼 코드 %myPf%
$endIf

스칼라 myPFData /[플랫폼코드] /;

$ifThenI %system.메가 슬롯%==DEX
$ifE myPFData<>%platformCode.DEX% $abort PlatformCode는 %platformCode.DEX%여야 합니다.
$elseIfI %system.메가 슬롯%==LAX
$ifE myPFData<>%platformCode.LAX% $abort PlatformCode는 %platformCode.LAX%여야 합니다.
$elseIfI %system.메가 슬롯%==LEX
$ifE myPFData<>%platformCode.LEX% $abort PlatformCode는 %platformCode.LEX%여야 합니다.
$elseIfI %system.메가 슬롯%==WEX
$ifE myPFData<>%platformCode.WEX% $abort PlatformCode는 %platformCode.WEX%여야 합니다.
$elseIfI %system.메가 슬롯%==DAX
$ifE myPFData<>%platformCode.DAX% $abort PlatformCode는 %platformCode.DAC%여야 합니다.
$else
$abort 알 수 없는 플랫폼 코드
$endIf

스칼라 myPFExec;

myPFExec = 플랫폼코드;

$ifThenI %system.메가 슬롯%==DEX
abort$(myPFExec<>%platformCode.DEX%) 'PlatformCode는 %platformCode.DEX%여야 합니다.';
$elseIfI %system.메가 슬롯%==LAX
abort$(myPFExec<>%platformCode.LAX%) 'PlatformCode는 %platformCode.LAX%여야 합니다.';
$elseIfI %system.메가 슬롯%==LEX
abort$(myPFExec<>%platformCode.LEX%) 'PlatformCode는 %platformCode.LEX%여야 합니다.';
$elseIfI %system.메가 슬롯%==WEX
abort$(myPFExec<>%platformCode.WEX%) 'PlatformCode는 %platformCode.WEX%여야 합니다.';
$elseIfI %system.메가 슬롯%==DAX
abort$(myPFExec<>%platformCode.DAX%) 'PlatformCode는 %platformCode.DAX%여야 합니다.';
$else
'알 수 없는 플랫폼 코드', myPFExec를 중단합니다.
$endIf