embpy05.gms : 삽입된 코드에서 데이터를 로드할 때 병합/교체 테스트

설명

기고자: Michael Bussieck, 2019년 11월

소형 모델 유형 :슬롯 머신


카테고리 : 슬롯 머신 테스트 라이브러리


메인 파일 : embpy05.gms

$title '임베디드 코드에서 데이터를 로드할 때 병합/교체 테스트' (EMBPY05,SEQ=804)

$onText
기고자: Michael Bussieck, 2019년 11월
$offText

$log --- Python 라이브러리 %sysEnv.GMSPYTHONLIB% 사용

우주 설정 / i1*i3 /
          s(우주);

$onEmbeddedCode 파이썬:
  슬롯 머신set('s', [('I2')])
$offEmbeddedCodes
$if errorFree $abort '예상되는 오류 없음'
$eval.STL s.firstTL 설정
$if not %STL%==i2 $abort 'i2가 예상되었으나 %STL%을(를) 받았습니다.'

$onEmbeddedCode 파이썬:
  슬롯 머신set('s', [('I1')])
$offEmbeddedCodes
$if errorFree $abort '오류가 예상됩니다.'
$clearErrors

$kills
$onEmbeddedCode 파이썬:
  슬롯 머신set('s', [('I2')])
$offEmbeddedCodes
$if errorFree $abort '예상되는 오류 없음'
$eval.STL s.firstTL 설정
$if not %STL%==i2 $abort 'i2가 예상되었으나 %STL%을(를) 받았습니다.'

$onMulti
$onEmbeddedCode 파이썬:
  슬롯 머신set('s', [('I1')])
$offEmbeddedCodes
$if errorFree $abort '예상되는 오류 없음'
$eval.STL s.firstTL 설정
$if not %STL%==i1 $abort 'i1이 예상되었으나 %STL%을(를) 받았습니다.'

$onMultiR
$onEmbeddedCode 파이썬:
  슬롯 머신set('s', [('I3')])
$offEmbeddedCodes
$if errorFree $abort '예상되는 오류 없음'
$eval.STL s.firstTL 설정
$if not %STL%==i3 $abort 'i3이 필요했지만 %STL%이(가) 있습니다.'
$off멀티

$kills
$onEmbeddedCode 파이썬:
  슬롯 머신set('s', [('I2')])
$offEmbeddedCodes
$if errorFree $abort '예상되는 오류 없음'
$eval.STL s.firstTL 설정
$if not %STL%==i2 $abort 'i2가 예상되었으나 %STL%을(를) 받았습니다.'

$onEmbeddedCode 파이썬:
  슬롯 머신set('s', [('I1')], mergeType=MergeType.MERGE)
$offEmbeddedCodes
$if errorFree $abort '예상되는 오류 없음'
$eval.STL s.firstTL 설정
$if not %STL%==i1 $abort 'i1이 예상되었으나 %STL%을(를) 받았습니다.'

$onEmbeddedCode 파이썬:
  슬롯 머신set('s', [('I3')], mergeType=MergeType.REPLACE)
$offEmbeddedCodes
$if errorFree $abort '예상되는 오류 없음'
$eval.STL s.firstTL 설정
$if not %STL%==i3 $abort 'i3이 필요했지만 %STL%이(가) 있습니다.'

옵션 클리어=s;

* 문서나 행동의 변화를 결정해야 함
$onText
임베디드코드 파이썬:
  슬롯 머신set('s', [('I2')])
endEmbeddedCode s
abort$(card(s)<>1 or not s('i2')) 's에 i2만 있으면 됩니다.', s;

임베디드코드 파이썬:
  슬롯 머신set('s', [('I1')])
endEmbeddedCode s
abort$(card(s)<>1 or not s('i1')) 's에 i1만 있으면 됩니다.', s;

옵션 클리어=s;
임베디드코드 파이썬:
  슬롯 머신set('s', [('I2')])
endEmbeddedCode s
abort$(card(s)<>1 or not s('i2')) 's에 i2만 있으면 됩니다.', s;

임베디드코드 파이썬:
  슬롯 머신set('s', [('I1')], mergeType=MergeType.DEFAULT)
endEmbeddedCode s
abort$(card(s)<>1 or not s('i1')) 's에 i1만 있으면 됩니다.', s;
$offText

옵션 클리어=s;
임베디드코드 파이썬:
  슬롯 머신set('s', [('I2')])
endEmbeddedCode s
abort$(card(s)<>1 or not s('i2')) 's에 i2만 있으면 됩니다.', s;

임베디드코드 파이썬:
  슬롯 머신set('s', [('I1')], mergeType=MergeType.REPLACE)
endEmbeddedCode s
abort$(card(s)<>1 or not s('i1')) 's에 i1만 있으면 됩니다.', s;

옵션 클리어=s;
임베디드코드 파이썬:
  슬롯 머신set('s', [('I2')])
endEmbeddedCode s
abort$(card(s)<>1 or not s('i2')) 's에 i2만 있으면 됩니다.', s;

임베디드코드 파이썬:
  슬롯 머신set('s', [('I1')], mergeType=MergeType.MERGE)
endEmbeddedCode s
abort$(card(s)<>2 or not s('i1') or not s('i2')) 's에 i1만 예상됨', s;