15 정적읽기 전용 문자열 PROPERTIES_FILE =
"test.properties";
20 정적로거 로거 = LogManager.GetCurrentClassLogger();
23 공개 정적 공허OneTimeSetup()
25로거.디버그(
"TestGAMSSymbolRecord | OneTimeSetup");
26workingDir =
가정부 관리인.gamsAbsoluteWorkingDir;
28로거.디버그(
"TestGAMSSymbolRecord | oneTimeSetup");
46 공개 무효TestDisposedSymbolRecord()
48로거.디버그(
"TestGAMSSymbolRecord 입력 중 | testDisposedSymbolRecord");
49문자열 testDir = HouseKeeper.gamsWorkingDir + Path.DirectorySeparatorChar +
"testDisposedSymbolRecord";
64Assert.Throws<NullReferenceException>(() => 레코드.
다음으로 이동());
68 공개 무효TestDisposedAllSymbolRecords()
70로거.디버그(
"TestGAMSSymbolRecord 입력 중 | testDisposedAllSymbolRecords");
71문자열 testDir = HouseKeeper.gamsWorkingDir + Path.DirectorySeparatorChar +
"testDisposedAllSymbolRecords";
89Console.WriteLine(record2.
텍스트);
90어설션.실패(
"폐기 후 GAMSSetRecord에 대한 작업을 기대하지 마십시오");
92 잡기(NullReferenceException e)
94Assert.True(record2 ==
널,
"GAMSSetRecord 개체가 삭제된 후 null이 될 것으로 예상됩니다.");
111어설션.실패(
"폐기 후 GAMSParameterRecord에 대한 작업을 기대하지 마세요");
113 잡기(NullReferenceException e)
115Assert.True(record2 ==
널,
"GAMSParameterRecord 개체가 삭제된 후 null이 될 것으로 예상합니다.");
132Console.WriteLine(기록.
레벨);
133어설션.실패(
"폐기 후 GAMSVariableRecord에 대한 작업을 기대하지 마세요");
135 잡기(NullReferenceException e)
137Assert.True(레코드 ==
널,
"GAMSVariableRecord 개체가 삭제된 후 null이 될 것으로 예상합니다.");
143 공개 무효TestOrderOfDisposedSymbolRecords()
145로거.디버그(
"TestGAMSSymbolRecord 입력 | testOrderOfDisposedSymbolRecords");
146문자열 testDir = HouseKeeper.gamsWorkingDir + Path.DirectorySeparatorChar +
"testOrderOfDisposedSymbolRecords";
170어설션.실패(
"삭제 후 GAMParameterRecord에 대한 작업을 기대하지 마세요");
172 잡기(NullReferenceException e)
174Assert.True((rec1 ==
널&& Rec2 ==
널),
"GAMSParameterRecord 개체가 삭제된 후 null이 될 것으로 예상합니다.");
182Assert.True(값1 == Rec1.
값,
"같으면 같음을 기대합니까??");
183Assert.True(rec1.Key(0).Equals(keys1[0]),
"같을 것으로 기대합니까??");
184Assert.True(rec1.Key(1).Equals(keys1[1]),
"같으면 같음을 기대합니까??");
190어설션.실패(
"삭제 후 GAMParameterRecord에 대한 작업을 기대하지 마세요");
192 잡기(NullReferenceException e)
194Assert.True((rec1 !=
널&& Rec2 ==
널),
"GAMSParameterRecord 개체가 삭제된 후 null이 될 것으로 예상합니다.");
199 공개 무효TestEquivalentSymbolRecord()
201로거.디버그(
"TestGAMSSymbolRecord 입력 | testEquivalentSymbolRecord");
202문자열 testDir = HouseKeeper.gamsWorkingDir + Path.DirectorySeparatorChar +
"testEquivalentSymbolRecord";
216Assert.True(rec1.
같음(rec2),
"rec1과 rec2가 동일할 것으로 예상합니다");
217Assert.True(rec1.
같음(rec3),
"rec1과 rec3이 동등할 것으로 예상합니다");
218Assert.False(rec1 == rec2,
"rec1과 rec2는 동일한 C# 개체가 아닙니다.");
219Assert.False(rec1 == rec3,
"rec1과 rec3은 동일한 C# 개체가 아닙니다.");
222Assert.False(rec1.
같음(rec4),
"rec1과 rec4는 동일하지 않습니다.");
223Assert.False(rec1 == rec4,
"rec1과 rec4는 동일한 C# 개체가 아닙니다.");
226Assert.True(rec5.Equals(rec4),
"rec5와 rec4가 동등할 것으로 예상합니다");
227Assert.False(rec5 == rec4,
"rec5와 rec4는 동일한 C# 개체가 아닙니다.");
230Assert.True(rec6.Equals(rec1),
"rec6과 rec1이 동일할 것으로 예상합니다");
231Assert.False(rec6 == rec1,
"rec6과 rec1은 동일한 C# 개체가 아닙니다.");
237Assert.False(rec1.Equals(rec2),
"rec1과 rec2가 동등할 것으로 예상합니다");
238Assert.False(rec1 == rec2,
"rec1과 rec2는 동일한 C# 개체가 아닙니다.");
246 if(rec.Key(0).Equals(
"토피카"))
248Assert.True(rec.Equals(lastRec),
"LastRec과 Rec가 동등할 것으로 기대합니다");
249Assert.False(rec == lastRec,
"rec과 lastRec는 동일한 C# 개체가 아닙니다.");
253문자열[] 슬라이스 =
신규문자열[]
" ",
"시카고"};
258Assert.True(lastSlicedRecord.Equals(레코드),
"LastRec과 Rec가 동등할 것으로 기대합니다");
259Assert.False(lastSlicedRecord == 기록,
"lastSlicedRecord와 레코드는 동일한 C# 개체가 아닙니다.");
265Assert.True(lastRec.Equals(firstRec),
"cost에는 1개의 레코드만 있습니다. LastRec과 firstRec가 동일할 것으로 예상합니다.");
266Assert.False(lastRec == firstRec,
"lastRec과 firstRec는 동일한 C# 개체가 아닙니다.");
271문자열[] 슬라이스 =
신규문자열[]
" ",
"토페카"};
274Assert.True(firstSlicedRec.Equals(firstRec),
"firstSlicedRec과 firstRec가 동등할 것으로 기대합니다");
275Assert.False(firstSlicedRec == firstRec,
"firstSlicedRec과 firstRec는 동일한 C# 개체가 아닙니다.");
283Assert.True(r1.Equals(r2),
"r1과 r2가 동등할 것으로 기대합니다");
284Assert.False(r1 == r2,
"다른 메모리 참조를 가진 r1과 r2를 기대합니다");
285Assert.True(r1.Equals(r3),
"r1과 r3이 동등할 것으로 기대합니다");
286Assert.True(r1 == r3,
"같은 메모리 참조를 가진 r1과 r3을 기대합니다");
288Assert.True(r1.Equals(r4),
"r1과 r4가 동등할 것으로 예상합니다");
289Assert.False(r1 == r4,
"다른 메모리 참조를 가진 r1과 r4를 기대합니다");
291로거.디버그(
"TestGAMSSymbolRecord 종료 | testEquivalentSymbolRecord");
295 공개 무효TestEquivalentSymbolRecord_IteratingRecord()
297로거.디버그(
"TestGAMSSymbolRecord 입력 | testEquivalentSymbolRecord_IteratingRecord");
300문자열 testDir = HouseKeeper.gamsWorkingDir + Path.DirectorySeparatorChar +
"testEquivalentSymbol";
315Assert.True(record.Equals(ny),
"ny가 첫 번째 레코드로 예상되며 레코드와 동일할 것으로 예상됩니다.");
320 if(record.Key(0).Equals(
"뉴욕"))
322Assert.True(record.Equals(ny),
"record와 ny가 동등할 것으로 기대합니다");
324 그밖에 if(record.Key(0).Equals(
"시카고"))
326Assert.True(record.Equals(시카고),
"기록과 시카고가 동등할 것으로 기대합니다");
328 그밖에 if(record.Key(0).Equals(
"토페카"))
330Assert.True(record.Equals(topeka),
"레코드와 토피카가 동등할 것으로 기대합니다");
334어설션.실패(
"[(뉴욕),(시카고),(토피카)] 이외의 다른 키를 가진 b 레코드를 기대하지 마십시오");
336Assert.AreEqual(1, Record.Keys.Length,
"1차원의 기록을 기대합니다");
338}
그동안(record.MoveNext());
339Assert.AreEqual(3, 개수,
"j로부터 3개의 반복 레코드를 기대합니다.");
346 if((record.Key(0).Equals(
"시애틀") && 레코드.키(1).Equals(
"시카고")))
348Assert.True(record.Equals(seattle_chicago),
"기록과 seattle_chicago가 동등할 것으로 기대합니다");
352Assert.False(record.Equals(seattle_chicago),
"record와 seattle_chicago는 동일하지 않습니다.");
361 if((record.Key(0).Equals(
"시애틀") && 레코드.키(1).Equals(
"토페카")))
363Assert.True(record.Equals(seattle_topeka),
"기록과 seattle_chicago가 동등할 것으로 기대합니다");
367Assert.False(record.Equals(seattle_topeka),
"record와 seattle_chicago는 동일하지 않습니다.");
378 if(record.Key(0).Equals(
"샌디에고"))
380Assert.True(record.Equals(sandiego),
"record와 ny가 동등할 것으로 기대합니다");
382 그밖에 if(record.Key(0).Equals(
"시애틀"))
384Assert.True(record.Equals(시애틀),
"기록과 시카고가 동등할 것으로 기대합니다");
388어설션.실패(
"[(san-diego),(seattle)] 이외의 키를 사용하여 b 레코드를 기대하지 마십시오.");
393로거.디버그(
"TestGAMSSymbolRecord 종료 | testEquivalentSymbolRecord_IteratingRecord");
399로거.디버그(
"TestGAMSSymbolRecord 입력 | testGetKeys");
401문자열 testDir = HouseKeeper.gamsWorkingDir + Path.DirectorySeparatorChar +
"testGetKeys";
411Assert.AreEqual(rec_i.
키.길이, 1,
"1차원을 기대합니다");
412Assert.True(rec_i.
키[0].Equals(
"샌디에고"),
"(sandiego)가 i의 마지막 기록의 키로 기대됩니다.");
415Assert.AreEqual(rec_d.
키.길이, 2,
"2차원의 d를 기대합니다");
416Assert.True(rec_d.
키[0].Equals(
"샌디에고"),
"d의 마지막 레코드 키로 (샌디에고, 토피카)를 기대합니다");
417Assert.True(rec_d.
키[1].Equals(
"토피카"),
"d의 마지막 레코드 키로 (샌디에고, 토피카)를 기대합니다");
420Assert.AreEqual(rec_f.
키.길이, 0,
"차원이 0인 스칼라 f를 기대합니다");
423Assert.AreEqual(rec_x.
키.길이, 2,
"2차원의 x를 기대합니다");
424Assert.True(rec_x.
키[0].Equals(
"샌디에고"),
"x의 마지막 레코드 키로 (샌디에고, 토피카)를 기대합니다");
425Assert.True(rec_x.
키[1].Equals(
"토페카"),
"x의 마지막 레코드 키로 (샌디에고, 토피카)를 기대합니다");
428Assert.AreEqual(rec_cost.
키.길이, 0,
"0차원으로 비용 예상");
431Assert.AreEqual(rec_demand.
키.길이, 1,
"1차원으로 수요 예상");
432Assert.True(rec_demand.
키[0].Equals(
"토페카"),
"d의 마지막 레코드 키로 (topeka)를 기대합니다");
434로거.디버그(
"TestGAMSSymbolRecord 종료 | testGetKeys");
438 공개 무효TestGetKey_index()
440로거.디버그(
"TestGAMSSymbolRecord 입력 중 | testGetKey_index");
441문자열 testDir = HouseKeeper.gamsWorkingDir + Path.DirectorySeparatorChar +
"testGetKeysIndex";
451Assert.True(rec_i.
열쇠(0).Equals(
"시애틀"),
"(시애틀)이 i의 마지막 기록의 키로 예상됩니다.");
455Assert.True(rec_d.
열쇠(0).Equals(
"샌디에고"),
"d의 마지막 레코드 키로 (샌디에고, 토피카)를 기대합니다");
456Assert.True(rec_d.
열쇠(1).Equals(
"토피카"),
"d의 마지막 레코드 키로 (샌디에고, 토피카)를 기대합니다");
460Assert.True(rec_x.
열쇠(0).Equals(
"샌디에고"),
"x의 마지막 레코드 키로 (샌디에고, 토피카)를 기대합니다");
461Assert.True(rec_x.
열쇠(1).Equals(
"토페카"),
"x의 마지막 레코드 키로 (샌디에고, 토피카)를 기대합니다");
465Assert.True(rec_demand.
열쇠(0).Equals(
"뉴욕"),
"마지막 수요 기록의 열쇠로 (뉴욕)을 기대합니다");
467로거.디버그(
"TestGAMSSymbolRecord 종료 | testGetKey_index");