로드 중...
검색 중...
일치하는 항목 없음
HouseKeeper.cs
1사용 중시스템;
2사용 중System.Collections.Generic;
3사용 중시스템.진단;
4사용 중시스템.IO;
5사용 중System.Text.RegularExpressions;
7사용 중NLog;
8사용 중NUnit.Framework;
9
10
11네임스페이스GamsApiTests
12{
13 공개 클래스가정부 관리인
14{
15 공개 정적문자열 gamsVersion =;
16 공개 정적문자열 gamsSystemDir =;
17 공개 정적문자열 gamsAbsoluteSystemDir =;
18 공개 정적문자열 gamsWorkingDir =;
19 공개 정적문자열 gamsAbsoluteWorkingDir =;
20 공개 정적문자열 GDX_FILE_EXTENSION =".gdx";
21 공개 정적 디버그레벨gamsDebugLevel =디버그레벨.끄기;
22 정적로거 로거 = LogManager.GetCurrentClassLogger();
23
30 공개 정적 무효 준비(문자열 디렉토리)
31{
32 if(디렉터리 ==)
33 반환;
34
35 if(!Directory.Exists(dir))
36로거.디버그("디렉토리 생성 중: "+ 디렉토리);
37디렉토리.CreateDirectory(dir);
38}
39 그밖에
40{
41로거.디버그("지우기: "+ 디렉토리);
42 지우기(dir);
43}
44}
45
51 공개 정적 부울 지우기(문자열 디렉토리)
52
53{
54 if(디렉터리 ==|| !디렉토리.존재(dir))
55 반환 거짓;
56
57디렉터리정보 dirInfo =신규디렉토리정보(dir);
58
59 foreach(파일정보 파일dirInfo.GetFiles())
60{
61파일.삭제();
62}
63
64 foreach(디렉토리 정보 diindirInfo.GetDirectories())
65{
66 지우기(di.FullName);
67di.Delete();
68}
69 반환 ;
70}
71
77 공개 정적 부울 정리(문자열 디렉토리)
78{
79 if(dir !=&& 디렉터리.존재(dir))
80{
81 문자열[] 파일 = Directory.GetFiles(dir);
82 foreach (문자열파일이름파일)
83파일.삭제(파일 이름);
84
85 문자열[] subdirs = Directory.GetDirectories(dir);
86 foreach (문자열하위 디렉토리in하위 디렉터리)
87 정리(하위 디렉토리);
88
89디렉토리.삭제(dir);
90
91}
92 // 삭제에 성공했나요?
93 if(디렉토리.존재(dir))
94 반환 거짓;
95 그밖에
96 반환 ;
97}
98
104 공개 정적 부울 isGAMS디렉토리(문자열 디렉토리)
105{
106 반환(Directory.Exists(dir) && (Directory.GetFiles(dir,"optgams.def").길이 > 0));
107}
108
114 공개 정적 공허 initializeTestFrom(문자열 파일 이름, 문자열 하위 디렉터리)
115{
116문자열 WorkingDir =;
117
118 시도해 보세요
119{
120var 속성 =신규사전<문자열, 문자열>();
121
122 // 상대 경로로 테스트를 실행하고 디버깅하는 데 필요한 것 같습니다.
123Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
124
125FileInfo dbug =신규파일정보(파일이름);
126 foreach(변수 행inFile.ReadAllLines(파일 이름))
127{
128properties.Add(row.Split('=')[0].Trim(),
129normalizePath(row.Split('=')[1].Trim()));
130}
131
132gamsVersion = 속성["무료 슬롯 게임버전"];
133gamsSystemDir = 속성["gamsSystemDir"];
134workingDir = 속성["gamsWorkingDir"];
135
136문자열 경로 = Path.GetFullPath(workingDir + Path.DirectorySeparatorChar + subdir);
138gamsWorkingDir = Path.GetFullPath(경로);
139gamsDebugLevel = (디버그레벨)Enum.Parse(typeof(디버그레벨),
140속성["gamsDebugLevel"],);
141}
142 잡기(예외 e)
143{
144Debug.WriteLine(e.Message);
145어설션.실패("["에서 테스트 구성을 확인하십시오+ 파일 이름 +"]");
146}
147Assert.NotNull(가정부 관리인.gamsVersion);
148Assert.NotNull(가정부 관리인.gamsSystemDir);
149Assert.NotNull(가정부 관리인.gamsWorkingDir);
150Assert.NotNull(가정부 관리인.gamsDebugLevel);
151
152Assert.True(디렉토리.존재(가정부 관리인.gamsSystemDir),
153 "구성 파일에 유효한 gamsSystemDir이 설정되어 있을 것으로 예상합니다.");
154HouseKeeper.gamsAbsoluteSystemDir = Path.GetFullPath(가정부 관리인.gamsSystemDir);
155
158
159HouseKeeper.gamsAbsoluteWorkingDir = Path.GetFullPath(가정부 관리인.gamsWorkingDir);
160}
161
162 비공개 정적 문자열normalizePath(문자열s)
163{
164정규식 rgx =신규정규식(@"\\*$");
165 문자열res = rgx.Replace(s,"");
166 반환res;
167}
168
177{
178 // TODO: GAMSGlobals.OSType에 상응하는 항목이 누락되었습니다. 다른 OS를 확인하세요.
179 반환 findGAMS(Environment.GetEnvironmentVariable("DYLD_LIBRARY_PATH"));
180}
181
187{
188 반환 findGAMS(Environment.GetEnvironmentVariable("경로").ToLower());
189}
196 공개 정적문자열findGAMS(문자열 시스템 경로)
197{
198문자열 GAMSDir =;
199 if(시스템 경로 !=&& 디렉터리.존재(systemPath))
200{
201문자열 callStr ="무료 슬롯 게임exe";// TODO: 동적으로 만들고 OS 독립적으로 만듭니다.
202 foreach(var pathDirinsystemPath.Split(Path.PathSeparator))
203{
204 if(File.Exists(pathDir + Path.DirectorySeparatorChar + callStr))
205GAMSDir = Path.GetFullPath(pathDir);
206}
207}
208}
209 반환GAMSDir;
210}
211
212 공개 정적 무효 삭제(문자열dir)
213{
214var pathToBeDeleted =신규디렉토리정보(dir);
215 시도해 보세요
216{
217 foreach(var 파일inpathToBeDeleted.EnumerateFiles("*", SearchOption.AllDirectories))
218{
219파일.삭제();
220}
221pathToBeDeleted.Delete();
222}
223 잡기(IOException e) Console.WriteLine(e.Message);
224}
225
226
227 공개 정적 부울PrepareDatabaseFrom(문자열도서관,문자열모델,문자열workingdir)
228{
229 int종료 = -1;
230 시도해 보세요
231{
232목록<string> 인수 =신규목록<문자열>();
233arguments.Add(라이브러리);
234인수.추가(모델);
235
236ProcessStartInfo psi =신규ProcessStartInfo();
237psi.FileName = 인수[0];
238psi.인수 =문자열.가입(" ", 인수.GetRange(1, 인수.Count - 1));
239psi.WorkingDirectory = 작업 디렉터리;
240
241 사용 중(프로세스 p = 프로세스.시작(psi))
242{
243p.WaitForExit();
244exit = p.ExitCode;
245}
246}
247 잡기(IO예외)
248{
249 반환 거짓;
250}
251 잡기(예외)
252{
253 반환 거짓;
254}
255 반환(종료 == 0);
256}
257
258 공개 정적 GAMSJobCreateAndRunJobFromGamsLib(무료 슬롯 게임작업공간ws, 문자열 라이브러리)
259{
260 // 제공됨
261 GAMSJob직업 =;
262 시도
263{
264 // 언제, 그러면
265직업 = ws.AddJobFromGamsLib(lib);
266Assert.NotNull(직업,"성공적인 일자리 창출을 기대합니다.");
267}
269{
270어설션.실패("GAMSException이 발생할 것이라고 기대하지 마십시오.");
271}
272 시도
273{
274 // 언제, 그러면
275직업.실행();
276Assert.NotNull(직업,"성공적인 실행을 기대합니다.");
277}
279{
280어설션.실패("작업을 실행할 때 GAMSException을 기대하지 마세요.");
281}
282
283Assert.NotNull(직업.아웃DB, "빈 작업 출력 데이터베이스를 기대하지 마십시오.");
284
285 반환직업;
286}
287
288}
289}
무료 슬롯 게임데이터베이스 OutDB
void Run(GAMSOptions gamsOptions=null, GAMSCheckpoint 체크포인트=null, TextWriter 출력=null, Boolean createOutDB=true)
GAMSJob AddJobFromGamsLib(문자열 모델, GAMSCheckpoint 체크포인트=null, 문자열 jobName=null)
static void prepare(String dir)
디렉토리 존재 여부를 확인하여 준비하십시오. 존재하는 경우 (비재귀적으로) 모든 내용을 삭제합니다...
정적 문자열 findGAMSFromPathEnvironmentVariable()
환경에서 유효한 무료 슬롯 게임 시스템 디렉토리를 찾으세요.
static boolclear(String dir)
(비재귀적으로) 디렉토리 아래의 모든 내용을 삭제합니다.
static bool rcleanup(String dir)
(재귀적으로) dir 아래의 모든 내용을 삭제하고 dir을 삭제합니다.
정적 문자열 findGAMS(문자열 systemPath)
주어진 경로에서 유효한 무료 슬롯 게임 시스템 디렉토리를 찾으세요. 유효한 무료 슬롯 게임 시스템 디렉토리에는 파일이 포함되어 있습니다...
정적 문자열 findGAMSFromAlternativeEnvironment()
환경에서 유효한 무료 슬롯 게임 시스템 디렉토리를 찾으세요. Windows의 경우: 창 레지스트리 "g...에서 읽습니다.
static void 초기화TestFrom(문자열 파일 이름, 문자열 하위 디렉터리)
fileName에서 클래스 속성을 초기화하고 디렉토리 하위 디렉토리 준비
static bool isGAMSDirectory(String dir)
무료 슬롯 게임 디렉토리를 확인하세요.