모듈:로마/테스트 케이스

Module
-- [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) 끝. --]]  돌아가다 스위트