-- [Module]의 유닛 테스트:로만/샌드박스]]Talk 페이지를 클릭하여 테스트를 실행합니다. 현지의 모듈명 = '로맨/샌드박스' --이 값을 변수에 할당하면 나중에 #sublic 스테이트먼트를 생성할 때 사용됩니다. 현지의 메인 펑크명 = 메인 현지의 음. = 요구하다('모듈:' .. 모듈명) 현지의 스위트 = 요구하다('모듈:유닛 테스트') 기능. 스위트.build Invocation(빌드 호출)(기능명, args) args = args 또는 {} 현지의 argsClone = 음.클론(args) -- args 테이블과 동등한 모듈 호출을 작성합니다.[Module]에서 가져온 것:[Unst] ] 。 -- 첫 번째 arg에 번호가 매겨집니다. 현지의 리트 = '{{#param:}' .. 모듈명 .. ' ' .. 기능명 위해서 k, v 에 아이페어(argsClone) 하다 v = 스트링(v) 한다면 string.find(v, '=', 1, 진실의) 그리고나서 -- 1=foo=bar와 같이 이름 있는 arg로 해야 합니다. 브레이크. 끝. 리트 = 리트 .. ' ' .. v argsClone[k] = 제로 끝. 위해서 k, v 에 쌍들(argsClone) 하다 k = 스트링(k) v = 스트링(v) 리트 = 리트 .. ' ' .. k .. '=' .. v 끝. 돌아가다 리트 .. '}}' 끝. 기능. 스위트:getInvokeResult(getInvoke결과)(기능명, args, convert Number(번호 변환)) -- convertNumber가 false가 아닌 한 Lua에 재입력할 때 가능한 경우 숫자로 변환됩니다. args = args 또는 {} 현지의 호출 = 자신.build Invocation(빌드 호출)(기능명, args) 현지의 결과 = 자신.틀:전처리(호출) 한다면 convert Number(번호 변환) ~= 거짓의 그리고. 톤수(결과) 그리고나서 돌아가다 톤수(결과) 또 다른 돌아가다 결과 끝. 끝. 기능. 스위트:assertInvokeEquals(동일)(기대됩니다, 기능명, args, convert Number(번호 변환)) args = args 또는 {} 현지의 호출 결과 = 자신:getInvokeResult(getInvoke결과)(기능명, args, convert Number(번호 변환)) 자신:전처리_상세(호출 결과, 기대됩니다) 끝. 기능. 스위트:assertInvokeEqual(기능명, 테스트 테이블, convert Number(번호 변환)) 테스트 테이블 = 테스트 테이블 또는 {} 현지의 기대됩니다 = 테스트 테이블[1] 현지의 args = 테스트 테이블[2] 또는 {} 자신:assertInvokeEquals(동일)(기대됩니다, 기능명, args, convert Number(번호 변환)) 끝. 기능. 스위트:assertInvokeEqualMany(기능명, 테스트 테이블, convert Number(번호 변환)) 위해서 i, 테스트 테이블 에 아이페어(테스트 테이블) 하다 자신:assertInvokeEqual(기능명, 테스트 테이블, convert Number(번호 변환)) 끝. 끝. 기능. 스위트:test_genericNumbers() 현지의 args = { {'N', {'0'}}, {'나', {'1'}}, {'II', {'2'}}, {'IV', {'4'}}, {'V', {'5'}}, {'VI', {'6'}}, {'VII', {'8'}}, {'IX', {'9'}}, {'X', {'10'}}, {'XI', {'11'}}, {'XIV', {'14'}}, {'XV', {'15'}}, {'XVI', {'16'}}, {'XIX', {'19'}}, {'XX', {'20'}}, {'XXI', {'21'}}, {'XIV', {'24'}}, {'XXV', {'25'}}, {'XXVI', {'26'}}, {'XXIV', {'34'}}, {'XXXV', {'35'}}, {'XXXVII', {'38'}}, {'XXXIX', {'39'}}, {'XL', {'40'}}, {'XLI', {'41'}}, {'XLIV', {'44'}}, {'XLV', {'45'}}, {'XLIX', {'49'}}, {'L', {'50'}}, {'LXXVII', {'88'}}, {'XXXIX', {'89'}}, {'XC', {'90'}}, {'XCI', {'91'}}, {'XCIV', {'94'}}, {'XCV', {'95'}}, {'XCVII', {'98'}}, {'XCIX', {'99'}}, {'C', {'100'}}, {'CI', {'101'}}, {'CIV', {'104'}}, {'CV', {'105'}}, {'CIX', {'109'}}, {'CX', {'110'}}, {'MCCXXIV', {'1234'}}, {'MDCXLVII', {'1648'}}, {'MMXCIX', {'2999'}}, {'MM', {'3000'}}, } --오버라인으로 케이스를 테스트하는 방법이 불분명한 경우 자신:assertInvokeEqualMany(메인, args) 끝. 기능. 스위트:test_OfRangeNumbers() 현지의 args = { {'없음, {'5000000'}}, {'없음, {'5000010'}}, {'없음, {'3000000000'}}, } 자신:assertInvokeEqualMany(메인, args) 끝. 기능. 스위트:test_MessageArg() 현지의 args = { {'N', {'0', '너무 크다'}}, {'나', {'1', '너무 크다'}}, {'V', {'5', '너무 크다'}}, {'X', {'10', '너무 크다'}}, {'L', {'50', '너무 크다'}}, {'C', {'100', '너무 크다'}}, {'D', {'500', '너무 크다'}}, {'M', {'1000', '너무 크다'}}, {'너무 크다', {'5000000', '너무 크다'}}, {'너무 크다', {'5000010', '너무 크다'}}, {'너무 크다', {'3000000000', '너무 크다'}}, } 자신:assertInvokeEqualMany(메인, args) 끝. 기능. 스위트:test_MessageArgWithFractionArg() -- 템플릿에서 "too big"가 발생하기 전에 "too big"가 발생할 수 없습니다. 현지의 args = { {'N', {'0', '너무 크다', 'controll=yes'}}, {'나', {'1', '너무 크다', 'controll=yes'}}, {'M', {'1000', '너무 크다', 'controll=yes'}}, {'너무 크다', {'5000000', '너무 크다', 'controll=yes'}}, {'너무 크다', {'5000010', '너무 크다', 'controll=yes'}}, {'너무 크다', {'3000000000', '너무 크다', 'controll=yes'}}, } 자신:assertInvokeEqualMany(메인, args) 끝. --[[ 함수 스위트: test_decimalsBetweenZeroAndOne() local args = { {'syslog', {'0.0001', 'syslog=yes'}}, {'syslog', {'0.0005', 'syslog=yes'}}, {'filename', {'0.000578703', 'filename=yes'}, {'filename', {'0.000578704', 'filename=yes'}, {'filename', {'0.00347222', 'filename=yes'}, {'filename', {'0.00347223', 'filename=yes'}, {'syslog', {'0.007', '', 'syslog=yes'}}, {'0.0139', '', 'sys=yes'}}, {'R', {'0.02084', '', 'recision=yes'}}, {'0.0278', '', 'sys=yes'}}, {'R', {'0.04167', '', 'recision=yes'}}, {'•', {'0.08334', '', 'sys=yes'}}, {'•'0.142858', ''', ''=yes'}}, {"'':'', {'0.1667', '', 'sys=yes'}}, {"'':'•', {'0.25', '', 'sys=yes'}}, {"'':'', {'0.3333', '', 'sys=yes'}}, {"'':'•':'', {'0.41666', '', '', 'sys=yes'}}, {'S', {0.5, '', 'sys=yes'}}, {"S'':'•', {'0.75', '', 'slot=yes'}}, {"S":'•':'0.9999', ''', '', '예'}, } 셀프: assertInvokeEqualMany('main', args) 끝. --]] --[[ 함수 스위트: test_fractions Between Zero And One() local args = { {'S', {'1/2', '안녕', 'hi=yes'} } 셀프: assertInvokeEqualMany('main', args) 끝. --]] 돌아가다 스위트