슬롯 커뮤니티9.gms : 슬롯 커뮤니티 - 필드 구분자 탭 테스트

설명

탭 필드 슬롯 커뮤니티 기호는 다양한 소수 슬롯 커뮤니티 기호와 함께 테스트되었습니다.

기고자 Jan-Erik Justkowiak, 2018년 5월

  gdxdiff와 비교하기 위한 컨트롤 세트 및 매개변수 정의

소형 모델 유형 :슬롯 커뮤니티


카테고리 : 슬롯 커뮤니티 테스트 라이브러리


메인 파일 : 슬롯 커뮤니티9.gms

$title CSV2GDX - 필드 구분자 탭 테스트(CSV2GDX9,SEQ=754)

$onText
탭 필드 구분 기호는 다양한 소수 구분 기호와 함께 테스트됩니다.

기고자 Jan-Erik Justkowiak, 2018년 5월
$offText

* gdxdiff와 비교하기 위한 컨트롤 세트 및 매개변수 정의
$onEcho > controlData1.gms
Dim1 / a, b, c / 설정;
매개변수 x / a 1.3, b 2.5, c 3.9 /;

$gdxOut 제어 데이터1
$unLoad Dim1 x
$gdx아웃
$offEcho
$call 슬롯 커뮤니티 controlData1.gms lo=%슬롯 커뮤니티lo%
$ifE errorLevel<>0 $abort controlData1에 문제가 발생했습니다!
*------------------------------------------------------------------

* 1. 슬롯 커뮤니티 IDE(및 기타 여러 편집기) 내에서 탭이 공백으로 대체되므로 이 작업은 실패합니다.
$onEcho > TabsFalseP.csv
a b c
1.3 2.5 3.9
$offEcho

$로그
$log 1. 탭이 올바르게 설정되지 않았습니다.
$call csv2gdx TabsFalseP.csv id=x fieldSep=탭 소수점Sep=기간 useHeader=y 값=1..3 추적=0
$ifE errorLevel=0 $abort 오류: 실패했어야 합니다. TabsFalse에는 탭이 없습니다!
$log 예상 오류: 값 열 번호가 열 수를 초과합니다!
$로그
*------------------------------------------------------------------

* 2. 탭은 명시적으로 정의됩니다.
* DecimalSep이 올바르게 설정되었습니다.
* 성공해야 합니다!
$onEcho > TabsRightP.csv
a%system.tab%b%system.tab%c
1.3%system.tab%2.5%system.tab%3.9
$offEcho

$로그
$log 2. 탭으로 구분 <-> fieldSep=Tab, 소수점 마침표 <-> 소수점=마침표
$call csv2gdx TabsRightP.csv id=x fieldSep=탭 소수점Sep=기간 useHeader=y 값=1..3 추적=0
$ifE errorLevel<>0 $abort 오류: CSV2GDX는 2.를 실행할 때 성공했어야 합니다.!
$call gdxdiff TabsRightP.gdx controlData1.gdx > %system.nullfile%
$ifE errorLevel<>0 $abort 2. 실행 후 데이터가 정확하지 않습니다!
$로그
*------------------------------------------------------------------

* 3. 탭은 명시적으로 정의됩니다.
* DecimalSep이 올바르게 설정되지 않았습니다.
* 마침표는 여전히 소수 구분 기호로 해석됩니다.
* 성공해야 합니다!
$로그
$log 3. 탭으로 구분 <-> fieldSep=Tab, 소수점 마침표 <-> 소수Sep=쉼표
$call csv2gdx TabsRightP.csv id=x fieldSep=탭 useHeader=y 값=1..3decimalSep=쉼표 추적=0
$ifE errorLevel<>0 $abort 오류: CSV2GDX는 3.을 실행할 때 성공했어야 합니다!
$call gdxdiff TabsRightP.gdx controlData1.gdx > %system.nullfile%
$ifE errorLevel<>0 $abort 3. 실행 후 데이터가 정확하지 않습니다!
$로그
*------------------------------------------------------------------

* 4. 탭은 명시적으로 정의됩니다.
* DecimalSep이 올바르게 설정되지 않았습니다.
* 데이터를 성공적으로 읽어서는 안 됩니다!
$onEcho > TabsRightC.csv
a%system.tab%b%system.tab%c
1,3%시스템.탭%2,5%시스템.탭%3,9
$offEcho

$로그
$log 4. 탭으로 구분됨 <-> fieldSep=Tab, 쉼표 소수점 <->decimalSep=마침표
$call csv2gdx TabsRightC.csv id=x fieldSep=탭 소수점Sep=기간 useHeader=y 값=1..3 추적=0
$ifE errorLevel<>0 $abort 오류: CSV2GDX는 4.를 실행할 때 성공했어야 합니다!
$call gdxdiff TabsRightC.gdx controlData1.gdx > %system.nullfile%
$ifE errorLevel=0 $abort 4. 실행 후 데이터가 정확하지 않아야 합니다!
$로그
*------------------------------------------------------------------

* 5. 탭은 명시적으로 정의됩니다.
* DecimalSep이 올바르게 설정되었습니다.
* 성공할 거예요!
$로그
$log 5. 탭으로 구분됨 <-> fieldSep=Tab, 쉼표 십진수 <-> 십진수Sep=comma
$call csv2gdx TabsRightC.csv id=x fieldSep=탭 소수점Sep=쉼표 useHeader=y 값=1..3 추적=0
$ifE errorLevel<>0 $abort 오류: CSV2GDX는 5.를 실행할 때 성공했어야 합니다!
$call gdxdiff TabsRightC.gdx controlData1.gdx > %system.nullfile%
$ifE errorLevel<>0 $abort 5. 실행 후 데이터가 정확하지 않습니다!
$로그
*------------------------------------------------------------------

* 6. 탭은 명시적으로 정의됩니다.
* FieldSep이 올바르게 설정되지 않았습니다.
* 헤더 행에 쉼표가 없으므로 실패합니다!
$log
$log 6. 탭으로 구분 <-> fieldSep=쉼표
$call csv2gdx TabsRightP.csv id=x fieldSep=쉼표 useHeader=y 값=1..3 추적=0
$ifE errorLevel=0 $abort 오류: CSV2GDX는 6.을 실행한 후 실패했어야 합니다!
$log 예상 오류: 값 열 번호가 열 수를 초과합니다!
$log
*------------------------------------------------------------------

* 7. 탭은 명시적으로 정의됩니다.
* FieldSep이 올바르게 설정되지 않았습니다.
* 헤더 행에 세미콜론이 없으므로 이 작업은 실패합니다!
$log
$log 7. 탭으로 구분 <-> fieldSep=세미콜론
$call csv2gdx TabsRightP.csv id=x fieldSep=세미콜론 useHeader=y 값=1..3 추적=0
$ifE errorLevel=0 $abort 오류: CSV2GDX는 7.을 실행한 후 실패했어야 합니다!
$log 예상 오류: 값 열 번호가 열 수를 초과합니다!
$log
*------------------------------------------------------------------

* 8. 대부분의 다른 옵션과 함께 불쾌한 데이터에 대한 fieldSep=tab 테스트
* 또한 일부 인덱스 열에서는 필드 구분 기호가 따옴표로 묶여 있습니다.
* --> 이로 인해 3개의 "Bad Uel Count"가 발생합니다(acceptBadUels=y 옵션 사용).
$onEcho > 특수값.csv
one%system.tab%two%system.tab% three%system.tab%four%system.tab%five%system.tab%six
빨간색%system.tab%red%system.tab%%system.tab%Undef%system.tab%'3.3'%system.tab%red
red%system.tab%red%system.tab%"4.4"%system.tab%5.5%system.tab%Eps%system.tab%green
"빨간색 %system.tab% 1"%system.tab%'green'%system.tab%7.7e+02%system.tab%8.8°%system.tab%-Inf%system.tab%blue
blue%system.tab%blue%system.tab%"10%"%system.tab%0%system.tab%NA%system.tab%"'보라색 %system.tab%'"
green%system.tab%blue%system.tab%"Eps"%system.tab%"NA"%system.tab%"Undef"%system.tab%"pur %system.tab% ple"
green%system.tab%blue%system.tab%"0"%system.tab%""%system.tab%" "%system.tab%'green'
$offEcho

$onEcho > controlData2.gms
세트
   희미한1 / r1*r6 /
   Dim2 / 빨간색, 녹색, "BAD_Line_5_Dim_ 1", 파란색 /
   Dim3 / 빨간색, "'녹색'", 파란색/
   Dim4 / 빨간색, 녹색, "'녹색'", "BAD_Line_6_Dim_ 3", "BAD_Line_7_Dim_ 3", 파란색/
   Dim5 / c1*c3 /;

매개변수 A
$onUNDF
/
r1.red.red.red.c2 Undf
r1.red.red.red.c3 Undf
r2.red.red.green.c1 4.4
r2.red.red.green.c2 5.5
r2.red.red.green.c3 Eps
r3."BAD_Line_5_Dim_ 1"."'녹색'".blue.c1 770
r3."BAD_Line_5_Dim_ 1"."'green'".blue.c2 Undf
r3."BAD_Line_5_Dim_ 1"."'green'".blue.c3 -Inf
r4.blue.blue."BAD_Line_6_Dim_ 3".c1 Undf
r4.blue.blue."BAD_Line_6_Dim_ 3".c2 Eps
r4.blue.blue."BAD_Line_6_Dim_ 3".c3 NA
r5.green.blue."BAD_Line_7_Dim_ 3".c1 Eps
r5.green.blue."BAD_Line_7_Dim_ 3".c2 NA
r5.green.blue."BAD_Line_7_Dim_ 3".c3 Undf
r6.green.blue."'녹색'".c1 Eps
/;
$offUNDF

$gdxOut 제어 데이터2
$unLoad Dim1 Dim2 Dim3 Dim4 Dim5 A
$gdx아웃
$offEcho
$call 슬롯 커뮤니티 controlData2.gms lo=%슬롯 커뮤니티lo%
$ifE errorLevel<>0 $abort controlData2에 문제가 발생했습니다!

$로그
$로그 8.
$call csv2gdx SpecialValues.csv id=A fieldSep=tab 인덱스=1,2,6 값=3..5 colCount=6 autoRow=r autoCol=c valueDim=y useHeader=y storeZero=y acceptBadUels=y 추적=0
$ifE errorLevel<>0 $abort 8에서 CSV2GDX로 데이터를 읽는 데 문제가 있습니다.!
$call gdxdiff SpecialValues.gdx controlData2.gdx > %system.nullfile%
$ifE errorLevel<>0 $abort 8. 실행 후 데이터가 정확하지 않습니다!
*------------------------------------------------------------------

* 9. 8번과 동일하지만 'acceptBadUels=y'를 설정하지 않음
* --> 이로 인해 오류가 발생합니다.
$log
$ 로그 9.
$call csv2gdx SpecialValues.csv id=A fieldSep=tab 인덱스=1,2,6 값=3..5 colCount=6 autoRow=r autoCol=c valueDim=y useHeader=y storeZero=y 추적=0
$ifE errorLevel<>1 $abort 9.에서 CSV2GDX로 데이터를 읽는 동안 오류가 발생했습니다.!
*------------------------------------------------------------------