설명
이 테스트는 ECImplicitLoad=on/off가 올바르게 작동하는지 확인합니다. 실행 시 임베디드 코드 Python 사용 기고자: Michael Bussieck, 2022년 3월
소형 모델 유형 :무료 슬롯 게임
카테고리 : 무료 슬롯 게임 테스트 라이브러리
메인 파일 : embpy13.gms
$title '임베디드 코드에서 암시적/명시적 로딩 테스트(실행 시간)' (EMBPY13,SEQ=899)
$onText
이 테스트는 ECImplicitLoad=on/off가 올바르게 작동하는지 확인합니다.
실행 시 임베디드 코드 Python 사용
기고자: Michael Bussieck, 2022년 3월
$offText
$log --- Python 라이브러리 %sysEnv.GMSPYTHONLIB% 사용
유니 / i1*i4, j1*j3 / 설정;
s1(*), s2(*)를 설정합니다.
* 암시적으로 세트 로드
임베디드코드 파이썬:
무료 슬롯 게임set('s1', ['i1', 'i2', 'i3'])
무료 슬롯 게임set('s2', ['j1', 'j2', 'j3'])
endEmbeddedCode
임베디드코드 파이썬:
if list(무료 슬롯 게임get('s1')) != ['i1', 'i2', 'i3']:
raise Exception("기호 s1에 예상치 못한 데이터가 있습니다")
if list(무료 슬롯 게임get('s2')) != ['j1', 'j2', 'j3']:
raise Exception("기호 s2에 예상치 못한 데이터가 있습니다")
endEmbeddedCode
* 명시적으로 세트 로드
옵션 클리어=s1, 클리어=s2;
임베디드코드 파이썬:
무료 슬롯 게임set('s1', ['i1', 'i3'])
무료 슬롯 게임set('s2', ['j1', 'j3'])
endEmbeddedCode s1 s2
임베디드코드 파이썬:
if list(무료 슬롯 게임get('s1')) != ['i1', 'i3']:
raise Exception("기호 s1에 예상치 못한 데이터가 있습니다")
if list(무료 슬롯 게임get('s2')) != ['j1', 'j3']:
raise Exception("기호 s2에 예상치 못한 데이터가 있습니다")
endEmbeddedCode
* 암시적 로딩과 명시적 로딩을 혼합합니다.
옵션 클리어=s1, 클리어=s2;
임베디드코드 파이썬:
무료 슬롯 게임set('s1', ['i1', 'i2', 'i3'])
무료 슬롯 게임set('s2', ['j1', 'j2', 'j3'])
endEmbeddedCode s2
임베디드코드 파이썬:
if list(무료 슬롯 게임get('s1')) != ['i1', 'i2', 'i3']:
raise Exception("기호 s1에 예상치 못한 데이터가 있습니다")
if list(무료 슬롯 게임get('s2')) != ['j1', 'j2', 'j3']:
raise Exception("기호 s2에 예상치 못한 데이터가 있습니다")
endEmbeddedCode
* 암시적으로 매개변수 로드
i / i1*i3 /, j / j1*j3 / 설정;
매개변수 p1(i, j);
임베디드코드 파이썬:
s1 = 무료 슬롯 게임get('i')
s2 = 무료 슬롯 게임get('j')
p1 = [zip(s1, s2)의 i,j에 대한(i, j, 3.14)]
무료 슬롯 게임set('p1', p1)
endEmbeddedCode
임베디드코드 파이썬:
if list(무료 슬롯 게임get('p1', keyFormat=KeyFormat.FLAT)) != p1:
raise Exception("기호 p1에 예기치 않은 데이터가 있습니다.")
endEmbeddedCode
* 암시적 로딩 및 DomainCheckType.CHECKED를 사용하여 도메인 위반을 생성합니다.
abort$(execerror) '실행 오류로 종료';
옵션 클리어=p1;
임베디드코드 파이썬:
p1 = [('i4', 'j1', 3.14)]
무료 슬롯 게임set('p1', p1, domCheck=DomainCheckType.CHECKED)
endEmbeddedCode
abort$(execerror=0) '실행 오류가 예상됩니다';
실행 오류 = 0;
임베디드코드 파이썬:
len(list(무료 슬롯 게임get('p1'))))인 경우:
raise Exception("기호 p1에 예기치 않은 데이터가 있습니다.")
endEmbeddedCode
* 암시적 로딩 및 DomainCheckType.CHECKED를 사용하여 도메인 위반(UEL을 알 수 없음)을 생성합니다.
abort$(execerror) '실행 오류로 종료';
옵션 클리어=p1;
임베디드코드 파이썬:
p1 = [('i5', 'j1', 3.14)]
무료 슬롯 게임set('p1', p1, domCheck=DomainCheckType.CHECKED)
endEmbeddedCode
abort$(execerror=0) '실행 오류가 예상됩니다';
실행 오류 = 0;
임베디드코드 파이썬:
len(list(무료 슬롯 게임get('p1'))))인 경우:
raise Exception("기호 p1에 예기치 않은 데이터가 있습니다.")
endEmbeddedCode
* 암시적 로딩으로 도메인 위반 필터링
옵션 클리어=p1;
임베디드코드 파이썬:
p1 = [('i4', 'j1', 3.14)]
무료 슬롯 게임set('p1', p1)
endEmbeddedCode
임베디드코드 파이썬:
len(list(무료 슬롯 게임get('p1'))))인 경우:
raise Exception("기호 p1에 예기치 않은 데이터가 있습니다.")
endEmbeddedCode
* 설정되지 않은 매개변수를 로드하여 실행 오류 발생
매개변수 p4(i,j);
abort$(execerror) '실행 오류로 종료';
임베디드코드 파이썬:
통과
endEmbeddedCode p4
abort$(execerror=0) '실행 오류가 예상됩니다';
실행 오류 = 0;
옵션 ECImplicitLoad=off;
abort$(execerror) '실행 오류로 종료';
임베디드코드 파이썬:
s1 = 무료 슬롯 게임get('i')
s2 = 무료 슬롯 게임get('j')
p1 = [zip(s1, s2)의 i,j에 대한(i, j, 3.14)]
무료 슬롯 게임set('p1', p1)
endEmbeddedCode
abort$(execerror=0) '실행 오류가 예상됩니다';
실행 오류 = 0;