현지의 취득하다 = 요구하다('모듈:인수/샌드박스').취득하다 현지의 스크리분토 유닛 = 요구하다('모듈:스크리분토 유닛') 현지의 스위트 = 스크리분토 유닛:신규() -------------------------------------------------------------------------- -- 디폴트값 -------------------------------------------------------------------------- 현지의 d = {} d.frame Title(프레임 타이틀) = '프레임 제목' d.parent Title(부모 타이틀) = '부모 직함' -- precedence-testing 값 d.first FrameArg = '첫 번째 프레임 인수' d.첫 번째 부모 Arg = '첫 번째 부모 인수' d.세컨드 페어런트 아그 = '두 번째 부모 인수' d.unique FrameArg = 'frame 인수 추가' d.unique FrameArgKey = '고유 프레임 키' d.uniqueParentArg = '부모 인수 삭제' d.uniqueParentArgKey = 'UniqueParentArgKey' -- 트리밍 및 공백 값. -- 이름 있는 파라미터에서 공백이 삭제되기 때문에 이러한 요구에 대응하는 키는 --이것을적절한테스트로하기위한숫자가됩니다. d.공백 Arg = '' d.blank Arg 키 = 100 d.스페이스 아그 = '\n' d.spacesArgKey = 101 d.unimmedArg(암호 없음) = '\nfoo 바 d.unimmedArgKey(미설정 Arg키) = 102 d.트리밍아그 = '푸바' d.값 펑크 값 = 'valueFuncValue' d.default Value Func = 기능.() 돌아가다 d.값 펑크 값 끝. d.번역하라 = { 후우 = 'F00', 막대기 = '8@r', 바즈 = '8@z', 쿼크 = 'Qux' } -------------------------------------------------------------------------- -- 도우미 기능 -------------------------------------------------------------------------- 기능. 스위트.get Frames(프레임)(frame Title(프레임 타이틀), 프레임 Args, parent Title(부모 타이틀), 부모 Args) frame Title(프레임 타이틀) = frame Title(프레임 타이틀) 또는 d.frame Title(프레임 타이틀) 프레임 Args = 프레임 Args 또는 { d.first FrameArg, [d.unique FrameArgKey] = d.unique FrameArg, [d.blank Arg 키] = d.공백 Arg, [d.spacesArgKey] = d.스페이스 아그, [d.unimmedArgKey(미설정 Arg키)] = d.unimmedArg(암호 없음) } parent Title(부모 타이틀) = parent Title(부모 타이틀) 또는 d.parent Title(부모 타이틀) 부모 Args = 부모 Args 또는 { d.첫 번째 부모 Arg, d.세컨드 페어런트 아그, [d.uniqueParentArgKey] = d.uniqueParentArg } 현지의 current Frame(현재 프레임) = 음.get Current Frame(전류 프레임)() 현지의 부모 = current Frame(현재 프레임):새로운 아이{직함 = parent Title(부모 타이틀), args = 부모 Args} 현지의 틀 = 부모:새로운 아이{직함 = frame Title(프레임 타이틀), args = 프레임 Args} 돌아가다 틀, 부모 끝. 기능. 스위트.getDefaultArgs(옵션들, frame Title(프레임 타이틀), 프레임 Args, parent Title(부모 타이틀), 부모 Args) 현지의 틀, 부모 = 스위트.get Frames(프레임)(frame Title(프레임 타이틀), 프레임 Args, parent Title(부모 타이틀), 부모 Args) 현지의 args = 취득하다(틀, 옵션들) 돌아가다 args 끝. 기능. 스위트:assert Error(아스텐 에러)(기능하다, ...) -- 함수 func를 실행하면 오류가 발생한다고 단언합니다. -- func 뒤의 파라미터는 func의 인수입니다. 현지의 성공., 메시지 = pcall(기능하다, ...) 자신:assert False(거짓)(성공.) 끝. 기능. 스위트:assertNumberOfIterations(기대됩니다, 리터레이터, t) 현지의 반복 횟수 = 0 위해서 k, v 에 리터레이터(t) 하다 반복 횟수 = 반복 횟수 + 1 끝. 자신:assert Equals(동일)(기대됩니다, 반복 횟수) 끝. -------------------------------------------------------------------------- -- 테스트 우선순위 -------------------------------------------------------------------------- 기능. 스위트:assert Default Precedence(args) 자신:assert Equals(동일)(d.first FrameArg, args[1]) 자신:assert Equals(동일)(d.세컨드 페어런트 아그, args[2]) 자신:assert Equals(동일)(d.unique FrameArg, args[d.unique FrameArgKey]) 자신:assert Equals(동일)(d.uniqueParentArg, args[d.uniqueParentArgKey]) 끝. 기능. 스위트:test Default Precedence() 자신:assert Default Precedence(스위트.getDefaultArgs()) 끝. 기능. 스위트:test Default Precedence Through Wrapper() 자신:assert Default Precedence(스위트.getDefaultArgs{포장지 = {d.parent Title(부모 타이틀)}, parent Only(부모 전용) = 거짓의}) 끝. 기능. 스위트:test Default Precedence Through Non Wrapper() 자신:assert Default Precedence(스위트.getDefaultArgs({포장지 = d.parent Title(부모 타이틀), 프레임만 = 거짓의}, 제로, 제로, '부모 타이틀 아님')) 끝. 기능. 스위트:assert Parent First(부모 우선)(args) 자신:assert Equals(동일)(d.첫 번째 부모 Arg, args[1]) 자신:assert Equals(동일)(d.세컨드 페어런트 아그, args[2]) 자신:assert Equals(동일)(d.unique FrameArg, args[d.unique FrameArgKey]) 자신:assert Equals(동일)(d.uniqueParentArg, args[d.uniqueParentArgKey]) 끝. 기능. 스위트:test Parent First(부모 우선)() 자신:assert Parent First(부모 우선)(스위트.getDefaultArgs{parent First = 진실의}) 끝. 기능. 스위트:testParentFirstThroughWrapper() 자신:assert Parent First(부모 우선)(스위트.getDefaultArgs{포장지 = {d.parent Title(부모 타이틀)}, parent Only(부모 전용) = 거짓의, parent First = 진실의}) 끝. 기능. 스위트:test Parent First Through Non Wrapper() 자신:assert Parent First(부모 우선)(스위트.getDefaultArgs({포장지 = d.parent Title(부모 타이틀), 프레임만 = 거짓의, parent First = 진실의}, 제로, 제로, '부모 타이틀 아님')) 끝. 기능. 스위트:assert Parent Only(부모 전용)(args) 자신:assert Equals(동일)(d.첫 번째 부모 Arg, args[1]) 자신:assert Equals(동일)(d.세컨드 페어런트 아그, args[2]) 자신:assert Equals(동일)(제로, args[d.unique FrameArgKey]) 자신:assert Equals(동일)(d.uniqueParentArg, args[d.uniqueParentArgKey]) 끝. 기능. 스위트:test Parent Only(부모 전용)() 자신:assert Parent Only(부모 전용)(스위트.getDefaultArgs{parent Only(부모 전용) = 진실의}) 끝. 기능. 스위트:test Parent Only(부모 전용)스루 래퍼() 자신:assert Parent Only(부모 전용)(스위트.getDefaultArgs{포장지 = {d.parent Title(부모 타이틀)}}) 끝. 기능. 스위트:test Parent Only(부모 전용)Through Sandbox Wrapper() 자신:assert Parent Only(부모 전용)(스위트.getDefaultArgs({포장지 = d.parent Title(부모 타이틀)}, 제로, 제로, d.parent Title(부모 타이틀) .. '/filename')) 끝. 기능. 스위트:assert Frame Only(ASST 프레임만)(args) 자신:assert Equals(동일)(d.first FrameArg, args[1]) 자신:assert Equals(동일)(제로, args[2]) 자신:assert Equals(동일)(d.unique FrameArg, args[d.unique FrameArgKey]) 자신:assert Equals(동일)(제로, args[d.uniqueParentArgKey]) 끝. 기능. 스위트:test Frame Only(테스트 프레임만)() 자신:assert Frame Only(ASST 프레임만)(스위트.getDefaultArgs{프레임만 = 진실의}) 끝. 기능. 스위트:test Frame Only(테스트 프레임만)스루논래퍼() 자신:assert Frame Only(ASST 프레임만)(스위트.getDefaultArgs({포장지 = d.parent Title(부모 타이틀)}, 제로, 제로, '부모 타이틀 아님')) 끝. 기능. 스위트:test Default Precedence With Whitespace() 현지의 틀, 부모 = 스위트.get Frames(프레임)( d.frame Title(프레임 타이틀), {' '}, d.parent Title(부모 타이틀), {d.첫 번째 부모 Arg} ) 현지의 args = 취득하다(틀) 자신:assert Equals(동일)(d.첫 번째 부모 Arg, args[1]) 끝. -------------------------------------------------------------------------- -- 트리밍 및 블랭크 제거 테스트 -------------------------------------------------------------------------- 기능. 스위트:testDefaultTrimingAndBlankRemoval() 현지의 args = 스위트.getDefaultArgs() 자신:assert Equals(동일)(제로, args[d.blank Arg 키]) 자신:assert Equals(동일)(제로, args[d.spacesArgKey]) 자신:assert Equals(동일)(d.트리밍아그, args[d.unimmedArgKey(미설정 Arg키)]) 끝. 기능. 스위트:test Remove Blanks But No Triming (블랭크 제거)() 현지의 args = 스위트.getDefaultArgs{다듬다 = 거짓의} 자신:assert Equals(동일)(제로, args[d.blank Arg 키]) 자신:assert Equals(동일)(제로, args[d.spacesArgKey]) 자신:assert Equals(동일)(d.unimmedArg(암호 없음), args[d.unimmedArgKey(미설정 Arg키)]) 끝. 기능. 스위트:testTrimButNoBlankRemoval() 현지의 args = 스위트.getDefaultArgs{공백 제거 = 거짓의} 자신:assert Equals(동일)(d.공백 Arg, args[d.blank Arg 키]) 자신:assert Equals(동일)('', args[d.spacesArgKey]) 자신:assert Equals(동일)(d.트리밍아그, args[d.unimmedArgKey(미설정 Arg키)]) 끝. 기능. 스위트:테스트 NoTrimOrBlankRemoval() 현지의 args = 스위트.getDefaultArgs{다듬다 = 거짓의, 공백 제거 = 거짓의} 자신:assert Equals(동일)(d.공백 Arg, args[d.blank Arg 키]) 자신:assert Equals(동일)(d.스페이스 아그, args[d.spacesArgKey]) 자신:assert Equals(동일)(d.unimmedArg(암호 없음), args[d.unimmedArgKey(미설정 Arg키)]) 끝. -------------------------------------------------------------------------- -- 테스트 값 Func -------------------------------------------------------------------------- 기능. 스위트:test Value Func() 현지의 args = 스위트.getDefaultArgs{값 펑크 = d.default Value Func} 자신:assert Equals(동일)(d.값 펑크 값, args['임의 키: sdfaliwyda']) 끝. 기능. 스위트:test Value Func Precedence() 현지의 args = 스위트.getDefaultArgs{ 다듬다 = 거짓의, 공백 제거 = 거짓의, 값 펑크 = d.default Value Func } 자신:assert Equals(동일)(d.값 펑크 값, args[1]) 자신:assert Equals(동일)(d.값 펑크 값, args['무작위 키: gekjabawyvy']) 끝. 기능. 스위트:test Value Func Key() 현지의 args = 스위트.getDefaultArgs{값 펑크 = 기능.(열쇠, 가치) 돌아가다 'valueFunc 키: '.. 열쇠 끝.} 자신:assert Equals(동일)('valueFunc 키: foo', args.후우) 끝. 기능. 스위트:test Value Func Value() 현지의 args = 스위트.getDefaultArgs{값 펑크 = 기능.(열쇠, 가치) 돌아가다 'valueFunc 값: '.. 가치 끝.} 자신:assert Equals(동일)( 'valueFunc 값: ' .. d.unique FrameArg, args[d.unique FrameArgKey] ) 끝. -------------------------------------------------------------------------- -- 새 인수 추가 테스트 -------------------------------------------------------------------------- 기능. 스위트:테스트 신규 추가() 현지의 args = 스위트.getDefaultArgs() 자신:assert Equals(동일)(제로, args.새로운 키) args.새로운 키 = '새로운 키' 자신:assert Equals(동일)('새로운 키', args.새로운 키) 끝. 기능. 스위트:test New Blank Args 추가() 현지의 args = 스위트.getDefaultArgs() 자신:assert Equals(동일)(제로, args.새로운 키) args.새로운 키 = '' 자신:assert Equals(동일)('', args.새로운 키) 끝. 기능. 스위트:test새로운스페이스추가Args() 현지의 args = 스위트.getDefaultArgs() 자신:assert Equals(동일)(제로, args.새로운 키) args.새로운 키 = ' ' 자신:assert Equals(동일)(' ', args.새로운 키) 끝. 기능. 스위트:테스트 덮어쓰기() 현지의 args = 스위트.getDefaultArgs() 자신:assert Equals(동일)(d.first FrameArg, args[1]) args[1] = '새로운 첫 번째 프레임 인수' 자신:assert Equals(동일)('새로운 첫 번째 프레임 인수', args[1]) 끝. 기능. 스위트:TestOverwriteWithNil() 현지의 args = 스위트.getDefaultArgs() 자신:assert Equals(동일)(d.first FrameArg, args[1]) args[1] = 제로 자신:assert Equals(동일)(제로, args[1]) 끝. 기능. 스위트:testOverwriteWithBlank() 현지의 args = 스위트.getDefaultArgs() 자신:assert Equals(동일)(d.first FrameArg, args[1]) args[1] = '' 자신:assert Equals(동일)('', args[1]) 끝. 기능. 스위트:testOverwriteWithSpaces() 현지의 args = 스위트.getDefaultArgs() 자신:assert Equals(동일)(d.first FrameArg, args[1]) args[1] = ' ' 자신:assert Equals(동일)(' ', args[1]) 끝. 기능. 스위트:testReadOnly(읽기 전용)() 현지의 args = 스위트.getDefaultArgs{읽기 전용 = 진실의} 현지의 기능. 테스트 기능() args.새로운 키 = '새로운 가치' 끝. 자신:assert Error(아스텐 에러)(테스트 기능) 끝. 기능. 스위트:test No Overwrite(오버라이트 없음)기존 키() 현지의 args = 스위트.getDefaultArgs{덮어쓰기 없음 = 진실의} 자신:assert Equals(동일)(d.first FrameArg, args[1]) 현지의 기능. 테스트 기능() args[1] = '새로운 첫 번째 프레임 인수' 끝. 자신:assert Error(아스텐 에러)(테스트 기능) 끝. 기능. 스위트:testNoOverwriteNewKey() 현지의 args = 스위트.getDefaultArgs{덮어쓰기 없음 = 진실의} 자신:assert Equals(동일)(제로, args.새로운 키) args.새로운 키 = '새로운 가치' 자신:assert Equals(동일)('새로운 가치', args.새로운 키) 끝. -------------------------------------------------------------------------- -- 잘못된 입력을 테스트합니다. -------------------------------------------------------------------------- 기능. 스위트:test Bad Frame Input() 자신:assert Error(아스텐 에러)(취득하다, '푸') 자신:assert Error(아스텐 에러)(취득하다, 9) 자신:assert Error(아스텐 에러)(취득하다, 진실의) 자신:assert Error(아스텐 에러)(취득하다, 기능.() 돌아가다 진실의 끝.) 끝. 기능. 스위트:test Bad Options(테스트 불량 옵션)입력() 자신:assert Error(아스텐 에러)(취득하다, {}, '푸') 자신:assert Error(아스텐 에러)(취득하다, {}, 9) 자신:assert Error(아스텐 에러)(취득하다, {}, 진실의) 자신:assert Error(아스텐 에러)(취득하다, {}, 기능.() 돌아가다 진실의 끝.) 끝. 기능. 스위트:test Bad Value Func Input() 자신:assert Error(아스텐 에러)(취득하다, {}, {값 펑크 = '푸'}) 자신:assert Error(아스텐 에러)(취득하다, {}, {값 펑크 = 9}) 자신:assert Error(아스텐 에러)(취득하다, {}, {값 펑크 = 진실의}) 자신:assert Error(아스텐 에러)(취득하다, {}, {값 펑크 = {}}) 끝. -------------------------------------------------------------------------- -- 반복기 메타모드 테스트 -------------------------------------------------------------------------- 기능. 스위트:테스트 페어() 현지의 args = 취득하다{'푸', '바', 바즈 = 'QUX'} 자신:assertNumberOfIterations(3, 쌍들, args) 끝. 기능. 스위트:테스트() 현지의 args = 취득하다{'푸', '바', 바즈 = 'QUX'} 자신:assertNumberOfIterations(2, 아이페어, args) 끝. 기능. 스위트:테스트 No Nilsin Pairs() -- 쌍을 사용할 때 0 값을 반복하지 않는지 테스트합니다. --메모화되어 있습니다. 현지의 args = 취득하다{''} 현지의 임시직 = args[1] -- 0을 메모합니다. 자신:assertNumberOfIterations(0, 쌍들, args) 끝. 기능. 스위트:테스트 No NilsinIpairs() -- ipair를 사용할 때 제로 값을 반복하지 않는지 테스트합니다. --메모화되어 있습니다. 현지의 args = 취득하다{''} 현지의 임시직 = args[1] -- 0을 메모합니다. 자신:assertNumberOfIterations(0, 아이페어, args) 끝. 기능. 스위트:test Deleted Args In Pairs(테스트 삭제)() --쌍을 사용할 때 다음 값을 가진 값을 반복하지 않는지 테스트합니다. -- 0 으로 명시적으로 설정되어 있습니다. 현지의 args = 취득하다{'푸'} args[1] = 제로 자신:assertNumberOfIterations(0, 쌍들, args) 끝. 기능. 스위트:test Deleted Args InIpairs() -- ipairs 를 사용할 때, 다음의 값을 반복하지 않는 것을 테스트합니다. -- 0 으로 명시적으로 설정되어 있습니다. 현지의 args = 취득하다{'푸'} args[1] = 제로 자신:assertNumberOfIterations(0, 아이페어, args) 끝. 기능. 스위트:test No Nils In Pairs After Index() -- 쌍을 사용할 때 nils에 대해 반복하지 않는지 테스트합니다. -- 에 존재하지 않는 값 뒤에 메모가 되어 있을 가능성이 있습니다. -- original args 테이블이 색인화 됩니다. 현지의 args = 취득하다{} 현지의 임시직 = args.일부 랜덤 값 -- 0을 메모합니다. 자신:assertNumberOfIterations(0, 쌍들, args) 끝. 기능. 스위트:test No Nils In Pairs After Newindex() -- 쌍을 사용할 때 nils에 대해 반복하지 않는지 테스트합니다. -- 에 존재하지 않는 값 뒤에 메모가 되어 있을 가능성이 있습니다. -- original args 테이블이 args 테이블에 추가됩니다. 현지의 args = 취득하다{} args.새로운 키 = 제로 -- 0은 메모되어 있습니다. 자신:assertNumberOfIterations(0, 쌍들, args) 끝. 기능. 스위트:testNoTableLengthChangeItiting중() -- 인수의 개수가 변경되지 않는 것을 테스트합니다. -- args 테이블이 반복됩니다. -- (새로운 arg 테이블에는 동등한 테스트가 필요하지 않습니다. -- 인덱스는 사용자 오류이기 때문에 - 그렇게 하면 -- Lua의 next() 함수의 미결정 동작). 현지의 args = 취득하다{'푸', '바', 바즈 = 'QUX'} 자신:assertNumberOfIterations(3, 쌍들, args) 위해서 k, v 에 쌍들(args) 하다 현지의 임시직 = args[k .. '푸'] 끝. 자신:assertNumberOfIterations(3, 쌍들, args) 끝. 기능. 스위트:testPairsPrecedence With Whitespace() 현지의 틀, 부모 = 스위트.get Frames(프레임)( d.frame Title(프레임 타이틀), {' '}, d.parent Title(부모 타이틀), {d.첫 번째 부모 Arg} ) 현지의 args = 취득하다(틀) 현지의 실제. 위해서 k, v 에 쌍들(args) 하다 실제. = v 끝. 자신:assert Equals(동일)(d.첫 번째 부모 Arg, 실제.) -- 실제로 반복하고 있는지 확인합니다. 자신:assertNumberOfIterations(1, 쌍들, args) 끝. 기능. 스위트:testPairsPrecedence WithNil() 현지의 틀, 부모 = 스위트.get Frames(프레임)( d.frame Title(프레임 타이틀), {}, d.parent Title(부모 타이틀), {d.첫 번째 부모 Arg} ) 현지의 args = 취득하다(틀) 현지의 실제. 위해서 k, v 에 쌍들(args) 하다 실제. = v 끝. 자신:assert Equals(동일)(d.첫 번째 부모 Arg, 실제.) -- 실제로 반복하고 있는지 확인합니다. 자신:assertNumberOfIterations(1, 쌍들, args) 끝. 기능. 스위트:testIpairs EarlyExit() 현지의 할 수 있다 = {} 기능. 할 수 있다.__인덱스(t, k) 한다면 k == 1 그리고나서 돌아가다 '푸' 그렇지 않으면 k == 2 그리고나서 돌아가다 '바' 그렇지 않으면 k == 3 그리고나서 에러('인수 3을 불필요하게 확장') 끝. 끝. 기능. 할 수 있다.__개요(t) 에러('불필요하게 호출된 쌍') 끝. 기능. 할 수 있다.__ipairs(t) -- 기본 IPair와 동일하게 동작하지만 __index에 대해서는 예외로 합니다. 돌아가다 기능.(t, i) 현지의 v = t[i + 1] 한다면 v ~= 제로 그리고나서 돌아가다 i + 1, v 끝. 끝., t, 0 끝. 현지의 args = 취득하다(설정 가능한({}, 할 수 있다)) 위해서 k,v 에 아이페어(args) 하다 한다면 v == '바' 그리고나서 브레이크. 끝. 끝. 끝. -------------------------------------------------------------------------- -- 테스트 인수 변환 -------------------------------------------------------------------------- 기능. 스위트:테스트 번역색인() 현지의 args = 취득하다({F00 = '하나, ['8@r'] = '둘', ['8@z'] = '3', qUx = '4', 후우 = '실패', 번역되어 있지 않다 = '실패'}, {번역하라 = d.번역하라}) 자신:assert Equals(동일)('하나, args.후우) 자신:assert Equals(동일)('둘', args.막대기) 자신:assert Equals(동일)('3', args.바즈) 자신:assert Equals(동일)('4', args.쿼크) 자신:assert Equals(동일)('실패', args.번역되어 있지 않다) 끝. 기능. 스위트:test Translation Pairs(트랜슬레이션 페어)자동 백트랜슬레이트 사용() 현지의 args = 취득하다({F00 = '하나, ['8@r'] = '둘', ['8@z'] = '3', qUx = '4', 후우 = '실패', 번역되어 있지 않다 = '실패'}, {번역하라 = d.번역하라}) 현지의 클린아그 = {} 위해서 k,v 에 쌍들(args) 하다 클린아그[k] = v 끝. 자신:assert Deep Equals(심층 등)( { 후우 = '하나, 막대기 = '둘', 바즈 = '3', 쿼크 = '4', 번역되어 있지 않다 = '실패' }, 클린아그 ) 끝. 기능. 스위트:test Translation Pairs With Backtranslate() 현지의 args = 취득하다({F00 = '하나, ['8@r'] = '둘', ['8@z'] = '3', qUx = '4', 후우 = '실패', 번역되어 있지 않다 = '실패'}, {번역하라 = d.번역하라, 역번역하다 = {F00 = '푸'}}) 현지의 클린아그 = {} 위해서 k,v 에 쌍들(args) 하다 클린아그[k] = v 끝. 자신:assert Deep Equals(심층 등)( { 후우 = '하나, ['8@r'] = '둘', ['8@z'] = '3', qUx = '4', 번역되어 있지 않다 = '실패' }, 클린아그 ) 끝. 기능. 스위트:test Translation Pairs(트랜슬레이션 페어)백트랜슬레이트 미포함() 현지의 args = 취득하다({F00 = '하나, ['8@r'] = '둘', ['8@z'] = '3', qUx = '4', 후우 = '실패', 번역되어 있지 않다 = '실패'}, {번역하라 = d.번역하라, 역번역하다 = 거짓의}) 현지의 클린아그 = {} 위해서 k,v 에 쌍들(args) 하다 클린아그[k] = v 끝. 자신:assert Deep Equals(심층 등)( { F00 = '하나, ['8@r'] = '둘', ['8@z'] = '3', qUx = '4', 후우 = '실패', 번역되어 있지 않다 = '실패' }, 클린아그 ) 끝. 기능. 스위트:testTranslationNewindex() 현지의 args = 취득하다({F00 = '하나, ['8@r'] = '둘', ['8@z'] = '3', qUx = '4', 후우 = '실패', 번역되어 있지 않다 = '실패'}, {번역하라 = d.번역하라, 역번역하다 = 거짓의}) args.후우 = '1번' args.번역되어 있지 않다 = 'flash2' 현지의 클린아그 = {} 위해서 k,v 에 쌍들(args) 하다 클린아그[k] = v 끝. 자신:assert Deep Equals(심층 등)( { F00 = '1번', ['8@r'] = '둘', ['8@z'] = '3', qUx = '4', 후우 = '실패', 번역되어 있지 않다 = 'flash2' }, 클린아그 ) 끝. 기능. 스위트:test_filename(테스트)_interface(실행)() 현지의 current Frame(현재 프레임) = 음.get Current Frame(전류 프레임)() current Frame(현재 프레임).args[5] = 555; 현지의 args = 취득하다(current Frame(현재 프레임)) 자신:assert Equals(동일)('실패', 유형(args.후우)) 끝. 돌아가다 스위트