2사용 중System.Collections.Generic;
5사용 중System.Text.RegularExpressions;
15 공개 정적문자열 gamsVersion =
널;
16 공개 정적문자열 gamsSystemDir =
널;
17 공개 정적문자열 gamsAbsoluteSystemDir =
널;
18 공개 정적문자열 gamsWorkingDir =
널;
19 공개 정적문자열 gamsAbsoluteWorkingDir =
널;
20 공개 정적문자열 GDX_FILE_EXTENSION =
".gdx";
22 정적로거 로거 = LogManager.GetCurrentClassLogger();
35 if(!Directory.Exists(dir))
36로거.디버그(
"디렉토리 생성 중: "+ 디렉토리);
37디렉토리.CreateDirectory(dir);
51 공개 정적 부울 지우기(문자열 디렉토리)
54 if(디렉터리 ==
널|| !디렉토리.존재(dir))
57디렉터리정보 dirInfo =
신규디렉토리정보(dir);
59 foreach(파일정보 파일
에dirInfo.GetFiles())
64 foreach(디렉토리 정보 di
indirInfo.GetDirectories())
79 if(dir !=
널&& 디렉터리.존재(dir))
81 문자열[] 파일 = Directory.GetFiles(dir);
85 문자열[] subdirs = Directory.GetDirectories(dir);
86 foreach (
문자열하위 디렉토리
in하위 디렉터리)
106 반환(Directory.Exists(dir) && (Directory.GetFiles(dir,
"optgams.def").길이 > 0));
120var 속성 =
신규사전<문자열, 문자열>();
123Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
125FileInfo dbug =
신규파일정보(파일이름);
126 foreach(변수 행
inFile.ReadAllLines(파일 이름))
128properties.Add(row.Split(
'=')[0].Trim(),
129normalizePath(row.Split(
'=')[1].Trim()));
132gamsVersion = 속성[
"무료 슬롯 게임버전"];
133gamsSystemDir = 속성[
"gamsSystemDir"];
134workingDir = 속성[
"gamsWorkingDir"];
136문자열 경로 = Path.GetFullPath(workingDir + Path.DirectorySeparatorChar + subdir);
138gamsWorkingDir = Path.GetFullPath(경로);
139gamsDebugLevel = (
디버그레벨)Enum.Parse(typeof(
디버그레벨),
140속성[
"gamsDebugLevel"],
참);
144Debug.WriteLine(e.Message);
145어설션.실패(
"["에서 테스트 구성을 확인하십시오+ 파일 이름 +
"]");
147Assert.NotNull(
가정부 관리인.gamsVersion);
148Assert.NotNull(
가정부 관리인.gamsSystemDir);
149Assert.NotNull(
가정부 관리인.gamsWorkingDir);
150Assert.NotNull(
가정부 관리인.gamsDebugLevel);
152Assert.True(디렉토리.존재(
가정부 관리인.gamsSystemDir),
153 "구성 파일에 유효한 gamsSystemDir이 설정되어 있을 것으로 예상합니다.");
154HouseKeeper.gamsAbsoluteSystemDir = Path.GetFullPath(
가정부 관리인.gamsSystemDir);
159HouseKeeper.gamsAbsoluteWorkingDir = Path.GetFullPath(
가정부 관리인.gamsWorkingDir);
162 비공개 정적 문자열normalizePath(
문자열s)
164정규식 rgx =
신규정규식(
@"\\*$");
165 문자열res = rgx.Replace(s,
"");
179 반환 findGAMS(Environment.GetEnvironmentVariable(
"DYLD_LIBRARY_PATH"));
188 반환 findGAMS(Environment.GetEnvironmentVariable(
"경로").ToLower());
199 if(시스템 경로 !=
널&& 디렉터리.존재(systemPath))
201문자열 callStr =
"무료 슬롯 게임exe";
202 foreach(var pathDir
insystemPath.Split(Path.PathSeparator))
204 if(File.Exists(pathDir + Path.DirectorySeparatorChar + callStr))
205GAMSDir = Path.GetFullPath(pathDir);
214var pathToBeDeleted =
신규디렉토리정보(dir);
217 foreach(var 파일
inpathToBeDeleted.EnumerateFiles(
"*", SearchOption.AllDirectories))
221pathToBeDeleted.Delete(
참);
223 잡기(IOException e) Console.WriteLine(e.Message);
227 공개 정적 부울PrepareDatabaseFrom(
문자열도서관,
문자열모델,
문자열workingdir)
232목록<string> 인수 =
신규목록<문자열>();
236ProcessStartInfo psi =
신규ProcessStartInfo();
238psi.인수 =
문자열.가입(
" ", 인수.GetRange(1, 인수.Count - 1));
239psi.WorkingDirectory = 작업 디렉터리;
241 사용 중(프로세스 p = 프로세스.시작(psi))
266Assert.NotNull(직업,
"성공적인 일자리 창출을 기대합니다.");
270어설션.실패(
"GAMSException이 발생할 것이라고 기대하지 마십시오.");
276Assert.NotNull(직업,
"성공적인 실행을 기대합니다.");
280어설션.실패(
"작업을 실행할 때 GAMSException을 기대하지 마세요.");
283Assert.NotNull(직업.
아웃DB,
"빈 작업 출력 데이터베이스를 기대하지 마십시오.");
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)
무료 슬롯 게임 디렉토리를 확인하세요.