로드 중...
검색 중...
일치하는 항목 없음
TestGAMSJob.cs
1사용 중시스템;
2사용 중시스템.IO;
4사용 중NLog;
5사용 중NUnit.Framework;
6
7네임스페이스GamsApiTests
8{
9[테스트 고정 장치]
10 공개 클래스TestGAMSJob
11{
12 정적읽기 전용 문자열 PROPERTIES_FILE ="test.properties";
13 정적 무료 슬롯 게임작업공간글로벌WS;
17 정적로거 로거 = LogManager.GetCurrentClassLogger();
18
19[OneTimeSetUp]
20 공개 공허OneTimeSetup()
21로거.정보("TestGAMSJob 입력 중", "setUpBeforeClass");
22 가정부 관리인.initializeTestFrom(PROPERTIES_FILE,"TestGAMSJob");
23로거.추적("HouseKeeper 작업이 초기화되었습니다");
25wsInfo.WorkingDirectory =가정부 관리인.gamsWorkingDir;
26wsInfo.SystemDirectory =가정부 관리인.gamsSystemDir;
27wsInfo.Debug =디버그레벨.끄기;
28글로벌WS =신규 무료 슬롯 게임작업공간(wsInfo);
29로거.추적("작업공간이 생성되었습니다");
30globalDB = globalWS.데이터베이스 추가("글로벌DB");
31로거.추적("데이터베이스가 생성되었습니다");
32 TestGAMS데이터베이스.initializeDatabase(globalDB);
33로거.정보("TestGAMSJob 종료 중","설정");
34}
35
36[OneTimeTearDown]
37 공개 무효OneTimeTearDown()
38{
39로거.정보("TestGAMSJob 입력 중", "설정");
40 if(글로벌DB !=)
41글로벌DB.폐기();
42
43로거.정보("TestGAMSJob 종료 중", "설정");
44}
45
46[설정]
47 공개 공허설정()
48{
49ws =;
50db =;
51}
52
53[분해]
54 공개 공허분해()
55{
56 if(db !=)
57db.폐기();
58}
59
60[테스트]
61 공개 공허testAddJobFromNonExistFileString()
62{
63로거.디버그("testAddJobFromNonExistingFileString 입력 중");
64ws =신규 무료 슬롯 게임작업공간("testAddJobFromFileString");
65db = ws.데이터베이스 추가("testAddJobFromFileString");
66어설션.던지기<무료 슬롯 게임예외>(() => ws.AddJobFromFile("이것은 아마도ANonExistFileName.gms일 것입니다"));
67주장.그(사실, "테스트를 건너뛰었습니다", );
68}
69
70[테스트]
71 공개 무효testAddJobFromFileString()
72로거.디버그("TestGAMSJob 입력 중", "testAddJobFromFileString");
73
74문자열 testDir = HouseKeeper.gamsWorkingDir +
75Path.DirectorySeparatorChar +
76 "testAddJobFromFileString";
78
79ws =신규 무료 슬롯 게임작업공간(testDir,가정부 관리인.gamsSystemDir,디버그레벨.끄기);
80db = ws.데이터베이스 추가("TtestAddJobFromFileString");
81
82 GAMSJob직업 = ws.AddJobFromGamsLib("다이어트");
83Assert.NotNull(직업,"NULL GAMSJob을 기대하지 않습니다", );
84
85직업 = ws.AddJobFromFile("diet.gms");
86Assert.NotNull(직업.이름, "NULL 파일 이름을 가진 GAMSJob 인스턴스가 필요하지 않습니다.", );
87
88로거.디버그("작업 초기화됨");
89직업.실행();
90로거.디버그("작업 실행됨");
91
92 // 정리
93 if(직업 !=)
94{
95 if(직업.아웃DB!=)
96직업.아웃DB.폐기();
97}
98로거.정보("TestGAMSJob 종료 중", "testAddJobFromFileString");
99}
100
101[테스트]
102 공개 공허testAddJobFromFileGAMSWorkspaceString()
103{
104로거.디버그("TestGAMSJob 입력 중", "testAddJobFromFileGAMSWorkspaceString");
105
106문자열 testDir = HouseKeeper.gamsWorkingDir +
107Path.DirectorySeparatorChar +
108 "testAddJobFromFileGAMSWorkspaceString";
110
111ws =신규 무료 슬롯 게임작업공간(testDir,가정부 관리인.gamsSystemDir);
112db = ws.데이터베이스 추가("testAddJobFromFileStringGAMSWorkspaceString");
113
114 GAMSJob직업 = ws.AddJobFromGamsLib("다이어트");
115문자열 jobName ="testAddJobFromFileGAMSWorkspaceString";
116
117직업 = ws.AddJobFromFile("diet.gms", , 직업 이름);
118Assert.NotNull("NULL 파일 이름을 가진 GAMSJob 인스턴스가 필요하지 않습니다.", 직업.이름);
119Assert.AreEqual(직업.이름, 직업 이름,"이름이 ["인 GAMSJob 인스턴스가 필요합니다. +
120직업 이름 +"]");
121로거.추적("작업 초기화됨");
122
123직업.실행();
124
125로거.추적("작업 실행됨");
126 // 정리
127 if(직업 !=)
128{
129 if(직업.아웃DB!=)
130직업.아웃DB.폐기();
131}
132로거.디버그("TestGAMSJob 종료 중", "testAddJobFromFileGAMSWorkspaceString");
133}
134
135[테스트]
136 공개 무효testRunWithMultipleTimesDefinesOption()
137{
138로거.디버그("TestGAMSJob 입력 중 | testRunWithMultipleTimesDefinesOption");
139 // 제공됨
140 intnumberOfTimes = 5000;
141문자열 testDir = HouseKeeper.gamsWorkingDir + Path.DirectorySeparatorChar +"testRunWithMultipleTimesDefinesOption";
143
144ws =신규 무료 슬롯 게임작업공간(가정부 관리인.gamsWorkingDir,가정부 관리인.gamsSystemDir);
145
146문자열 데이터 ="통조림 식물을 설정합니다 / 시애틀, 샌디에이고 / ; ";
147문자열 모델 ="통조림 식물을 설정합니다 \n" +
148 "$if gdxincname $abort '제공된 데이터 파일에 대한 포함 파일 이름이 설정되지 않았습니다'\n" +
149 "$gdxin %gdxincname% \n" +
150 "$load i \n" +
151 "$gdxin \n" +
152 "디스플레이 i; ";
153 GAMSJob직업 = ws.AddJobFromString(데이터);
154직업.실행();
155직업.아웃DB.내보내기(ws.작업 디렉터리+ Path.DirectorySeparatorChar +"pdata.gdx");
156
157직업 = ws.AddJobFromString(모델);
158 // 데이터 포함 파일을 여러 번 정의하는 GAMSOptions 인스턴스 생성
160 for (inti = 0; i < numberOfTimes; 나++)
161선택.정의["더미이름"+ i] ="더미값"+ 나;
162선택.정의["gdxincname"] ="pdata";
163
164 // 언제
165직업.실행(선택);
166
167 //그럼
168Assert.AreEqual(2, 직업.아웃DB.GetSet("나").NumberRecords,"2개 세트의 기록이 필요하지만 발견됨 ["+ 직업.아웃DB.GetSet("나").NumberRecords +"]");
169
170 // 정리
171 if(직업 !=)
172 if(직업.아웃DB!=)
173직업.아웃DB.폐기();
174로거.디버그("TestGAMSJob 종료 | testRunWithMultipleTimesDefinesOption");
175}
176
177[테스트]
178 공개 무효testOutDB()
179{
180로거.디버그("TestGAMSJob 입력 중 | testOutDB");
181 // 제공됨
182ws =신규 무료 슬롯 게임작업공간(가정부 관리인.gamsWorkingDir,가정부 관리인.gamsSystemDir);
183 GAMSJob직업 = ws.AddJobFromGamsLib("trnsport");
184 // 언제, 그러면
185Assert.True(직업.아웃DB==, "job.run 전에 Null OutDB가 필요합니다");
186
187 //언제
188직업.실행();
189 // 언제, 그러면
190Assert.AreEqual(직업.아웃DB.NrSymbols, 12,"job.run 전에 Null OutDB가 필요합니다");
191
192로거.디버그("TestGAMSJob 종료 | testOutDB");
193}
194
195}
196}
무료 슬롯 게임데이터베이스 OutDB
void Run(GAMSOptions gamsOptions=null, GAMSCheckpoint 체크포인트=null, TextWriter 출력=null, Boolean createOutDB=true)
GAMSJob AddJobFromString(문자열 gamsSource, GAMSCheckpoint 체크포인트=null, 문자열 jobName=null)
GAMSJob AddJobFromGamsLib(문자열 모델, GAMSCheckpoint 체크포인트=null, 문자열 jobName=null)
GAMSDatabase AddDatabase(문자열 데이터베이스 이름=null, 문자열 inModelName=null)
GAMSJob AddJobFromFile(문자열 fileName, GAMSCheckpoint 체크포인트=null, 문자열 jobName=null)
GAMSOptions AddOptions(GAMSOptions optFrom=null)
static void prepare(String dir)
디렉토리 존재 여부를 확인하여 준비하십시오. 존재하는 경우 (비재귀적으로) 모든 내용을 삭제합니다...
static void 초기화TestFrom(문자열 파일 이름, 문자열 하위 디렉터리)
fileName에서 클래스 속성을 초기화하고 디렉토리 하위 디렉토리 준비