37 "i 통조림 식물 / 시애틀, 샌디에고 /; \n"
58int 메인(
intargc,
문자* argv[])
60cout <<
"---------- 도메인 확인 중 ------------"<< endl;
63벡터<string> 식물
"시애틀",
"샌디에고"};
64벡터<string> 시장
"뉴욕",
"시카고",
"토피카"};
65map<string, double> 용량
"시애틀", 350.0 }, {
"샌디에이고", 600.0 } };
66map<string, double> 수요
"뉴욕", 325.0 }, {
"시카고", 300.0 }, {
"토피카", 275.0 } };
68make_tuple<string,string> (
"시애틀",
"뉴욕"), 2.5 },
69make_tuple<string,string> (
"시애틀",
"시카고"), 1.7 },
70make_tuple<문자열,문자열> (
"시애틀",
"토피카"), 1.8 },
71make_tuple<string,string> (
"샌디에고",
"뉴욕"), 2.5 },
72make_tuple<string,string> (
"샌디에고",
"시카고"), 1.8 },
73make_tuple<string,string> (
"샌디에고",
"토피카"), 1.4 }
100cout <<
"*** 예상치 못한 도메인 위반"<< endl;
111cout <<
"*** b에서 예기치 않은 도메인 위반"<< endl;
126cout <<
"*** d에서 예기치 않은 도메인 위반"<< endl;
132cout <<
"*** DB에서 예기치 않은 도메인 위반"<< endl;
146cout <<
"*** DB에 대한 도메인 위반이 인식되지 않음"<< endl;
150cout <<
"*** 인식되지 않는 도메인 위반"<< endl;
154cout <<
"*** d에 대한 도메인 위반이 인식되지 않음"<< endl;
160cout <<
"*** b에서 예기치 않은 도메인 위반"<< endl;
166cout <<
"다음 도메인 위반:"<< endl;
169 for (
부울vi: sdv.violInd())
170cout << (vi ?
"사실입니다":
"거짓");
172 for (
문자열k: sdv.violRec().keys())
178cout <<
"*** a에 대한 도메인 위반 횟수는 2여야 하지만 확인했습니다. "<< dvCnt << endl;
184cout <<
"d의 도메인 위반:"<< endl;
187 for (
부울vi: sdv.violInd())
188cout << (vi ?
"사실입니다":
"거짓");
193 for (
문자열k: sdv.violRec().keys())
198cout <<
"*** a에 대한 도메인 위반 횟수는 3이어야 하지만 확인했습니다. "<< dvCnt << endl;
204cout <<
"DB의 도메인 위반:"<< endl;
206cout <<
" > "+ DDV.violSym().name() +
": "<< endl;
209 용 (
부울vi: sdv.violInd())
215 for (
문자열k: sdv.violRec().keys())
221cout <<
"*** db에 대한 도메인 위반 횟수는 5여야 하는데 "<< dvCnt << endl;
227cout <<
"DB의 도메인 위반:"<< endl;
229cout <<
" > "+ DDV.violSym().name() +
": "<< endl;
232 for (
부울vi: sdv.violInd())
235 for (
문자열k: sdv.violRec().keys())
242cout <<
"*** db에 대한 도메인 위반 횟수는 3이어야 하는데 "<< dvCnt << endl;
247cout <<
"DB의 도메인 위반:"<< endl;
249cout <<
" > "+ DDV.violSym().name() +
": "<< endl;
252 for (
부울vi: sdv.violInd())
255 for (
문자열k: sdv.violRec().keys())
262cout <<
"*** db에 대한 도메인 위반 횟수는 2여야 하는데 "<< dvCnt << endl;
276cout <<
"*** 기본적으로 도메인 위반이 포함된 무료 슬롯 게임데이터베이스를 내보낼 수 없어야 합니다."<< endl;
286 if(!item.isRelaxed())
288 if(domSet.
이름() ==
"나") {
290 if(find(plants.begin(), Plants.end(), uel.key(0)) == Plants.end())
291cout <<
"*** 예상치 못한 uel "+ uel.key(0) +
" 도메인 i에서 발견됨"<< endl;
294}
그밖에 if(domSet.
이름() ==
"j") {
296 if(find(markets.begin(), market.end(), uel.key(0)) == market.end())
297cout <<
"*** 예상치 못한 uel "+ uel.key(0) +
" 도메인 j에서 발견됨"<< endl;
301cout <<
"*** GAMSSet i 및 j가 필요했지만 발견됨 "+ domSet.
이름() << endl;
307cout <<
"*** GAMSSet을 도메인으로 예상했지만 완화된 도메인을 찾았습니다. "+ item.name() << endl;
321cout <<
"별칭 집합의 요소:"<< endl;
323cout <<
" > "+ item.key(0) << endl;
330cout <<
"빈 UEL을 추가한 후 테스트 세트의 요소:"<< endl;
331cout <<
" > "<< 테스트세트.
번호레코드() << endl;
335cout <<
"기록 'a'는 'a'와 동일해야 합니다:"<< endl;
340테스트세트.
추가기록(
"123456789012345678901234567890123456789012345678901234567890123").
setText(
"알았어");
344테스트세트.
추가기록(
"1234567890123456789012345678901234567890123456789012345678901234").
setText(
"괜찮지 않음");
349cout <<
"*** 63자를 초과하는 레코드를 추가하는 것은 불가능해야 합니다."<< endl;
354테스트DB.
추가세트(
"텍스트 확인",
"12345678901234567890123456789012345678901234567890123 45678901234567890123456789012345678901234567890123456789012345678901 23456789012345678901234567890123456789012345678901234567890123456789 012345678901234567890123456789012345678901234567890123456789012345");
357테스트DB.
추가세트(
"textNotOK",
"123456789012345678901234567890123456789012345678901234 56789012345678901234567890123456789012345678901234567890123456789012 34567890123456789012345678901234567890123456789012345678901234567890 123456789012345678901234567890123456789012345678901234567890123456");
362cout <<
"*** 255자를 초과하는 설명 텍스트를 추가하는 것은 불가능해야 합니다."<< endl;
366테스트세트.
추가기록(
"알았어").
setText(
"12345678901234567890123456789012345678901234567890123 45678901234567890123456789012345678901234567890123456789012345678901 23456789012345678901234567890123456789012345678901234567890123456789 012345678901234567890123456789012345678901234567890123456789012345");
369테스트세트.
추가기록(
"안돼").
setText(
"123456789012345678901234567890123456789012345678901234 56789012345678901234567890123456789012345678901234567890123456789012 34567890123456789012345678901234567890123456789012345678901234567890 123456789012345678901234567890123456789012345678901234567890123456");
374cout <<
"*** 255자를 초과하는 설명 텍스트를 추가하는 것은 불가능해야 합니다."<< endl;
380testSet.
추가기록(
"인용문\"");
383testSet.
추가기록(
"인용문'\"");
388cout <<
"*** 레코드에 작은따옴표와 큰따옴표를 추가하는 것은 불가능해야 합니다."<< endl;
394cout <<
"무료 슬롯 게임예외 발생: "<< ex.what() << endl;
396cout << ex.what() << endl;
std::벡터< GAMSDatabaseDomainViolation > getDatabaseDVs(int maxViol=0, int maxViolPerSym=0)
GAMSSet addSet(const std::string &name, const int 차원, const std::string &explanatoryText="", GAMSEnum::SetType setType=GAMSEnum::SetType::Multi)
GAMSParameter addParameter(const std::string &name, const int 차원, const std::string &explanatoryText="")
void doExport(const std::string &filePath="")
GAMSSet getSet(const std::string &name)
GAMSParameter getParameter(const std::string &name)
void setSuppressAutoDomainChecking(bool value)
void setValue(const double val)
GAMSParameterRecord addRecord(const std::벡터< std::string > &keys)
void setText(const std::string &text)
GAMSSetRecord findRecord(const std::벡터< std::string > &keys)
GAMSSetRecord addRecord(const std::벡터< std::string > &keys)
std::벡터< GAMSSymbolDomainViolation > getSymbolDVs(int maxViol=0)
std::string & name() const
int numberRecords() const
std::벡터< GAMSDomain > 도메인()
void setSystemDirectory(const std::string &systemDir)
GAMSJob addJobFromString(const std::string &gamsSource, const std::string &jobName="")
GAMSDatabase addDatabase(const std::string &databaseName="", const std::string &inModelName="")
GAMSDatabase addDatabaseFromGDX(const std::string &gdxFileName, const std::string &databaseName, const std::string &inModelName)
int main(int argc, char *argv[])
std::string getDataText()