44파일 WorkingDirectory =
신규파일(System.getProperty(
"user.dir"),
"도메인검사");
45workingDirectory.mkdir();
51List<String> 식물 = Arrays.asList(
"시애틀",
"샌디에이고");
52List<String> 시장 = Arrays.asList(
"뉴욕",
"시카고",
"토피카");
53Map<String, Double> 용량 =
신규HashMap<String, Double>();
55용량.put(
"시애틀", Double.valueOf(350.0));
56용량.put(
"샌디에이고", Double.valueOf(600.0));
58Map<String, Double> 수요 =
신규HashMap<String, Double>();
60수요.put(
"뉴욕", Double.valueOf(325.0));
61수요.put(
"시카고", Double.valueOf(300.0));
62수요.put(
"토피카", Double.valueOf(275.0));
65지도<벡터<문자열>, 이중> 거리 =
신규HashMap<Vector<String>, Double>();
67거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"시애틀",
"뉴욕") ), Double.valueOf(2.5));
68거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"시애틀",
"시카고") ), Double.valueOf(1.7));
69거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"시애틀",
"토피카") ), Double.valueOf(1.8));
70거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"샌디에고",
"뉴욕") ), Double.valueOf(2.5));
71거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"샌디에고",
"시카고") ), Double.valueOf(1.8));
72거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"샌디에고",
"토피카") ), Double.valueOf(1.4));
89a.addRecord(p).setValue(capacity.get(p).doubleValue() );
93System.out.println(
"***중단*** 다음에서 예기치 않은 도메인 위반이 발생했습니다.");
99b.addRecord(m).setValue(demand.get(m).doubleValue());
102 if(!b.checkDomains())
103System.out.println(
"***중단*** b에서 예기치 않은 도메인 위반");
108객체[] 도메인 =
신규객체[] i, j ;
110 for(Vector<String> t : distance.keySet())
111문자열[] 키 =
신규문자열[t.size()];
113d.addRecord( 키 ).setValue( 거리.get(t).doubleValue() ) ;
117 if(!d.checkDomains())
118System.out.println(
"***중단*** d에서 예기치 않은 도메인 위반");
124System.out.println(
"***중단*** DB에서 예기치 않은 도메인 위반");
129d.addRecord(
신규문자열[]
"시애틀",
"아아").setValue( 1 );
130d.addRecord(
신규문자열[]
"bb",
"시애틀").setValue( 1 );
132a.addRecord(
"아아").setValue( 1 );
133a.addRecord(
"bb").setValue( 1 );
134b.addRecord(
"아아").setValue( 1 );
135b.addRecord(
"bb").setValue( 1 );
139System.out.println(
"***중단*** db에 대한 도메인 위반이 인식되지 않음");
143System.out.println(
"***중단*** 인식되지 않는 도메인 위반");
148System.out.println(
"***중단*** d에 대한 도메인 위반이 인식되지 않음");
153 if(!b.checkDomains())
154System.out.println(
"***중단*** b에서 예기치 않은 도메인 위반");
160System.out.println(
"다음의 기호 도메인 위반:");
162System.out.print(
" > [");
163 for(
부울item1 : item.getViolationArray())
164System.out.print(item1 +
" ");
165System.out.print(
"] <> ");
166 for(문자열 item2 : item.getRecord().getKeys())
167System.out.print(item2 +
" ");
168System.out.println(
"<<");
172System.out.print(
"***중단*** a에 대해 3개의 도메인 위반 기록이 예상되었으나 ["이(가) 발견되었습니다.+ dvCnt+
"]");
178System.out.println(
"d의 기호 도메인 위반:");
180System.out.print(
" > [");
181 for(
부울item1 : item.getViolationArray())
182System.out.print(item1 +
" ");
186System.out.print(
"] <> ");
187 for(문자열 item2 : item.getRecord().getKeys())
188System.out.print(item2 +
" ");
189System.out.println(
"<<");
192System.out.println(
"***중단*** d에 대해 3개의 도메인 위반 기록이 예상되었으나 발견됨 ["+ dvCnt+
"]");
198System.out.println(
"최대 레코드 수 제한 없이 db의 데이터베이스 도메인 위반:");
201System.out.print(
" > "+ item.getSymbol().getName() +
": [");
202 for(
부울요소 : info.getViolationArray())
203System.out.print(요소 +
" ");
207System.out.print(
"] <> ");
208 용(문자열 키 : info.getRecord().getKeys())
209System.out.print(키 +
" ");
210System.out.println(
" <<");
214System.out.println(
"***중단*** DB에 5개의 도메인 위반 기록이 예상되었으나 발견됨 ["+ dvCnt+
"]");
220System.out.println(
"3개 이하의 위반 기록이 있는 db의 데이터베이스 도메인 위반:");
223System.out.print(
" > "+ item.getSymbol().getName() +
": [");
224 for(
부울요소 : info.getViolationArray())
225System.out.print(요소 +
" ");
229System.out.print(
"] <> ");
230 용(문자열 키 : info.getRecord().getKeys())
231System.out.print(키 +
" ");
232System.out.println(
" <<");
236System.out.println(
"***중단*** DB에 3개의 도메인 위반 기록이 예상되었으나 발견됨 ["+ dvCnt+
"]");
242System.out.println(
"1 기호당 1개 이하의 위반 기록이 있는 db의 데이터베이스 도메인 위반:");
245System.out.print(
" > "+ item.getSymbol().getName() +
": [");
246 for(
부울요소 : info.getViolationArray())
247System.out.print(요소 +
" ");
249System.out.print(
"] <> ");
250 for(문자열 키 : info.getRecord().getKeys())
251System.out.print(키 +
" ");
252System.out.println(
" <<");
257System.out.println(
"***중단*** a에 대해 2개의 도메인 위반 기록이 예상되었으나 ["이(가) 발견되었습니다.+ dvCnt+
"]");
271System.out.println(
"***중단*** 기본적으로 도메인 위반이 포함된 슬롯 게임데이터베이스를 내보낼 수 없어야 합니다.");
280 용(객체 항목 : d2.getDomains())
282 if (((
GAMSSet)item).getName().equals(
"나")) {
284 if(!plants.contains(uel.getKey(0)))
285System.out.println(
"***중단*** 예상치 못한 uel "+ uel.getKey(0) +
" 도메인 i에서 발견됨");
289 그밖에 if (((
GAMSSet)item).getName().equals(
"j")) {
291 if(!markets.contains(uel.getKey(0)))
292System.out.println(
"***중단*** 예상치 못한 uel "+ uel.getKey(0) +
" 도메인 j에서 발견됨");
298System.out.println(
"***중단*** GAMSSet i 및 j가 필요했지만 발견됨"+ ((
GAMSSet)item).getName());
304System.out.println(
"***중단*** GAMSSet을 도메인으로 예상했지만 완화된 도메인을 찾았습니다. "+ (문자열)항목);
318System.out.println(
"별칭 집합의 요소:");
320System.out.println(
" > "+ item.getKey(0));
326testSet.addRecord(
"");
327System.out.println(
"빈 UEL을 추가한 후 테스트 세트의 요소:");
328System.out.println(
" > "+ testSet.getNumberOfRecords());
331testSet.addRecord(
" a ").setText(
"a");
332System.out.println(
"' a ' 레코드는 ' a'와 동일해야 합니다:");
333System.out.println(
" > "+ testSet.findRecord(
"a").getText());
337testSet.addRecord(
"123456789012345678901234567890123456789012345678901234567890123").setText(
"알았어");
340testSet.addRecord(
"1234567890123456789012345678901234567890123456789012345678901234").setText(
"괜찮지 않음");
341System.out.println(
"*** 63자를 초과하는 레코드를 추가하는 것은 불가능해야 합니다.");
346테스트DB.
추가세트(
"텍스트 확인",
"12345678901234567890123456789012345678901234567890123 45678901234567890123456789012345678901234567890123456789012345678901 23456789012345678901234567890123456789012345678901234567890123456789 012345678901234567890123456789012345678901234567890123456789012345");
348테스트DB.
추가세트(
"textNotOK",
"123456789012345678901234567890123456789012345678901234 56789012345678901234567890123456789012345678901234567890123456789012 34567890123456789012345678901234567890123456789012345678901234567890 123456789012345678901234567890123456789012345678901234567890123456");
349System.out.println(
"*** 255자를 초과하는 설명 텍스트를 추가하는 것은 불가능해야 합니다.");
353testSet.addRecord(
"알았어").setText(
"12345678901234567890123456789012345678901234567890123 45678901234567890123456789012345678901234567890123456789012345678901 23456789012345678901234567890123456789012345678901234567890123456789 012345678901234567890123456789012345678901234567890123456789012345");
355testSet.addRecord(
"안돼").setText(
"123456789012345678901234567890123456789012345678901234 56789012345678901234567890123456789012345678901234567890123456789012 34567890123456789012345678901234567890123456789012345678901234567890 123456789012345678901234567890123456789012345678901234567890123456");
356System.out.println(
"*** 255자를 초과하는 설명 텍스트를 추가하는 것은 불가능해야 합니다.");
361testSet.addRecord(
"인용문'");
362testSet.addRecord(
"인용문\"");
364testSet.addRecord(
"인용문'\"");
365System.out.println(
"*** 레코드에 작은따옴표와 큰따옴표를 추가하는 것은 불가능해야 합니다.");
369테스트DB.
내보내기(
"test.gdx");
371System.out.println(
"성공적으로 종료되었습니다!");
377 " 나는 식물 통조림 / 시애틀, 샌디에고 /; \n"+
이 예는 슬롯 게임 용어에서 도메인 검사라고도 알려진 참조 무결성을 시행합니다.