-- [Module]의 유닛 테스트:IP]] [Talk]페이지를 클릭하여 테스트를 수행합니다. -- 유닛 테스트 모듈 셋업 현지의 스크리분토 유닛 = 요구하다('모듈:스크리분토 유닛') 현지의 스위트 = 스크리분토 유닛:신규() -- 타겟 모듈 셋업 현지의 아이피 = 요구하다('모듈:IP') 현지의 IP 주소 = 아이피.IP 주소 현지의 서브넷 = 아이피.서브넷 현지의 IPv4 컬렉션 = 아이피.IPv4 컬렉션 현지의 IPv6 수집 = 아이피.IPv6 수집 -- 상수 현지의 IP_ADDRESS_CLASS = 'IPAddress' 현지의 IP_ADDRESS_OBJECT = 'ipAddress' 현지의 서브넷 클래스 = '서브넷' 현지의 서브넷_오브젝트 = '실패' 현지의 IPV4COLLECTION_CLASS = 'IPv4 컬렉션' 현지의 IPV4COLLECTION_OBJECT = 'ipv4 컬렉션' 현지의 IPV6 COLLECTION_CLASS = 'IPv6 컬렉션' 현지의 IPV6 COLLECTION_OBJECT = 'ipv6 컬렉션' ------------------------------------------------------------------------------- -- 도우미 메서드 ------------------------------------------------------------------------------- 기능. 스위트:assert Error(아스텐 에러)(메세지, 평지, ...) 현지의 성공., 리트 = pcall(...) 자신:assert False(거짓)(성공.) 자신:assert String 포함(메세지, 리트, 평지) 끝. 기능. 스위트:assert Not Error(ASST Not 오류)(...) 현지의 성공. = pcall(...) 자신:assert True(참)(성공.) 끝. 기능. 스위트:assertSelfParameterError(학급, obj명, 방법, ...) 현지의 메세지 = string.format( 'IP: 잘못된 %s 개체입니다.콜론 대신 점으로 %s를 호출했습니까?즉, %s:%s() 대신 %s.%s()?, 학급, 방법, obj명, 방법, obj명, 방법 ) 자신:assert Error(아스텐 에러)(메세지, 진실의, ...) 끝. 기능. 스위트:assertTypeError(ASST타입에러)(argIdx, 기능명, 기대됩니다, 받았다, ...) 현지의 메세지 = string.format( "bad 인수 #%d to '%s'(%s 예상, %s 취득), argIdx, 기능명, 기대됩니다, 받았다 ) 자신:assert Error(아스텐 에러)(메세지, 진실의, ...) 끝. 기능. 스위트:assert Object Error(ASST 오브젝트 오류)(argIdx, 기능명, 클래스명, ...) 현지의 메세지 = string.format( "bad 인수 #%d to '%s'(유효한 %s 개체가 아님)", argIdx, 기능명, 클래스명 ) 자신:assert Error(아스텐 에러)(메세지, 진실의, ...) 끝. 기능. 스위트:assert IPString 오류(ipStr, ...) 현지의 메세지 = string.format("%s는 잘못된 IP 주소입니다.", ipStr) 자신:assert Error(아스텐 에러)(메세지, 진실의, ...) 끝. 기능. 스위트:assertCIDRStringError(CID String 오류)(cidr, ...) 현지의 메세지 = string.format("%s는 비활성 CIDR 문자열입니다.", cidr) 자신:assert Error(아스텐 에러)(메세지, 진실의, ...) 끝. 기능. 스위트:assert Metable Protected(assert Metable 보호)(obj) 자신:assert Error(아스텐 에러)('보호된 메타블을 변경할 수 없습니다.', 진실의, 기능. () 설정 가능한(obj, {}) 끝.) 끝. 기능. 스위트:assert Not Metable(측정 불가)(값) 자신:assert False(거짓)(유형(값) == '테이블' 그리고. 유형(값.__eq) == '기능') 끝. 기능. 스위트:아사트 오브젝트(값, ...) 자신:assert True(참)(유형(값) == '테이블') 위해서 i, 방법 에 아이페어{...} 하다 자신:assert True(참)(유형(값[방법]) == '기능') 끝. 끝. 기능. 스위트:assertIPAddressObject(값) 스위트:아사트 오브젝트(값, 'IP를 취득하다', 'InSubnet') 끝. 기능. 스위트:assert Subnet Object(서브넷 오브젝트)(값) 스위트:아사트 오브젝트(값, 'getCIDR', '오디오'IP') 끝. 기능. 스위트:assert Collection 객체(값) 스위트:아사트 오브젝트(값, 'add IP', '서브넷 추가') 끝. 기능. 스위트:assertIPv4CollectionObject(값) 자신:assert Collection 객체(값) 자신:assert Equals(동일)(「IPv4」, 값:getVersion()) 끝. 기능. 스위트:assertIPv6CollectionObject(값) 자신:assert Collection 객체(값) 자신:assert Equals(동일)(「IPv6」, 값:getVersion()) 끝. 기능. 스위트:assertRangesEqual(기대됩니다, 실제.) 자신:assert True(참)(#기대됩니다 == #실제.) 위해서 i = 1, #기대됩니다 하다 현지의 예상 범위 = 기대됩니다[i] 현지의 실제 범위 = 실제.[i] 자신:assert Equals(동일)(예상 범위[1], 실제 범위[1]) 자신:assert Equals(동일)(예상 범위[2], 실제 범위[2]) 끝. 끝. ------------------------------------------------------------------------------- -- IPAddress 테스트 ------------------------------------------------------------------------------- 기능. 스위트:테스트 IPConstructor() 현지의 기능. assert Valid(유효)아이피(아이피) 자신:assertIPAddressObject(IP 주소.신규(아이피)) 끝. assert Valid(유효)아이피('1.2.3.4') assert Valid(유효)아이피('0.0.0.0') assert Valid(유효)아이피('255.255.255.255') assert Valid(유효)아이피('::') assert Valid(유효)아이피('fff:fff:fff:fff:fff:fff:fff:fff') assert Valid(유효)아이피('2001::f:1234') 끝. 기능. 스위트:test Invalid(테스트 무효)IP() 현지의 기능. assert 무효아이피(아이피) 자신:assert Error(아스텐 에러)( string.format("%s는 잘못된 IP 주소입니다.", 아이피), 진실의, 기능. () IP 주소.신규(아이피) 끝. ) 끝. assert 무효아이피('') assert 무효아이피('푸') assert 무효아이피('01.02.03.04') assert 무효아이피('256.256.256.256') assert 무효아이피('1.2.3') assert 무효아이피('1.2.3.4.5') assert 무효아이피('-1.2.3.4') assert 무효아이피(':') -- TODO: 다음 테스트에 대해 어떻게 해야 할지 결정합니다. -- 단언하다Invalid IP('::') assert 무효아이피('2001::f:1234') assert 무효아이피('2001:g::') 끝. 기능. 스위트:테스트 IPConstructor Errors() 자신:assertTypeError(ASST타입에러)( 1, 'IPAddress.new', '문자열, '실패', 기능. () IP 주소.신규(진실의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, 'IPAddress.new', '문자열, '숫자', 기능. () IP 주소.신규(7) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, 'IPAddress.new', '문자열, '실패', 기능. () IP 주소.신규() 끝. ) 자신:assert Error(아스텐 에러)( "foo"는 잘못된 IP 주소입니다.", 진실의, 기능. () IP 주소.신규('푸') 끝. ) 끝. 기능. 스위트:테스트 IPEquals() 자신:assert True(참)(IP 주소.신규('1.2.3.4') == IP 주소.신규('1.2.3.4')) 자신:assert False(거짓)(IP 주소.신규('1.2.3.5') == IP 주소.신규('1.2.3.4')) 자신:assert True(참)(IP 주소.신규('2001:a1:b2::') == IP 주소.신규('2001:a1:b2::')) 자신:assert True(참)(IP 주소.신규('::') == IP 주소.신규('0:0:0:0:0:0:0:0')) 끝. 기능. 스위트:테스트 IPLess Than() 자신:assert False(거짓)(IP 주소.신규('1.2.3.4') < IP 주소.신규('1.2.3.4')) 자신:assert False(거짓)(IP 주소.신규('1.2.3.5') < IP 주소.신규('1.2.3.4')) 자신:assert True(참)(IP 주소.신규('1.2.3.3') < IP 주소.신규('1.2.3.4')) 자신:assert True(참)(IP 주소.신규('2.0.0.0') < IP 주소.신규('10.0.0.0')) 자신:assert True(참)(IP 주소.신규('2001:a1:b2::') < IP 주소.신규('2001:a1:b2::1')) 자신:assert True(참)(IP 주소.신규('2001:b::') < IP 주소.신규('2001:10::')) 끝. 기능. 스위트:테스트 IPLess Than Or Equal To() 자신:assert True(참)(IP 주소.신규('1.2.3.4') <=> IP 주소.신규('1.2.3.4')) 자신:assert False(거짓)(IP 주소.신규('1.2.3.5') <=> IP 주소.신규('1.2.3.4')) 자신:assert True(참)(IP 주소.신규('1.2.3.3') <=> IP 주소.신규('1.2.3.4')) 끝. 기능. 스위트:테스트 IPToString() 자신:assert Equals(동일)('1.2.3.4', 스트링(IP 주소.신규('1.2.3.4'))) 자신:assert Equals(동일)('2001:a1:b2::', 스트링(IP 주소.신규('2001:a1:b2:0:0:0:0:0:0:0:0'))) 끝. 기능. 스위트:테스트 콘센트아이피() 자신:assert Equals(동일)( '1.2.3.45.6.7.8', IP 주소.신규('1.2.3.4') .. IP 주소.신규('5.6.7.8') ) 자신:assert Equals(동일)('1.2.3.4 foo', IP 주소.신규('1.2.3.4') .. '푸') 끝. 기능. 스위트:테스트 GetIP() 자신:assert Equals(동일)('1.2.3.4', IP 주소.신규('1.2.3.4'):IP를 취득하다()) 끝. 기능. 스위트:테스트 Get IPErrors() 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, 'IP를 취득하다', 기능. () IP 주소.신규('1.2.3.4').IP를 취득하다() 끝. ) 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, 'IP를 취득하다', 기능. () IP 주소.신규('1.2.3.4').IP를 취득하다(IP 주소.신규('5.6.7.8')) 끝. ) 끝. 기능. 스위트:test Get Version() 자신:assert Equals(동일)(「IPv4」, IP 주소.신규('1.2.3.4'):getVersion()) 자신:assert Equals(동일)(「IPv6」, IP 주소.신규('2001:db8::ff00:12:3456'):getVersion()) 끝. 기능. 스위트:testGetVersionErrors() 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, '버전 취득', 기능. () IP 주소.신규('1.2.3.4').getVersion() 끝. ) 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, '버전 취득', 기능. () IP 주소.신규('1.2.3.4').getVersion(IP 주소.신규('5.6.7.8')) 끝. ) 끝. 기능. 스위트:테스트 ISIPv4() 자신:assert True(참)(IP 주소.신규('1.2.3.4'):ISIPv4()) 자신:assert False(거짓)(IP 주소.신규('2001:db8::ff00:12:3456'):ISIPv4()) 끝. 기능. 스위트:testIsIPv4Errors() 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, 「isIPv4」, 기능. () IP 주소.신규('1.2.3.4').ISIPv4() 끝. ) 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, 「isIPv4」, 기능. () IP 주소.신규('1.2.3.4').ISIPv4(IP 주소.신규('5.6.7.8')) 끝. ) 끝. 기능. 스위트:테스트 ISIPv6() 자신:assert True(참)(IP 주소.신규('2001:db8::ff00:12:3456'):IPv6()) 자신:assert False(거짓)(IP 주소.신규('1.2.3.4'):IPv6()) 끝. 기능. 스위트:testIsIPv6Errors() 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, 「isIPv6」, 기능. () IP 주소.신규('1.2.3.4').IPv6() 끝. ) 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, 「isIPv6」, 기능. () IP 주소.신규('1.2.3.4').IPv6(IP 주소.신규('5.6.7.8')) 끝. ) 끝. 기능. 스위트:testIsInSubnet() 자신:assert True(참)(IP 주소.신규('1.2.3.4'):is In Subnet(서브넷.신규('1.2.3.0/24'))) 자신:assert False(거짓)(IP 주소.신규('1.2.3.4'):is In Subnet(서브넷.신규('1.2.4.0/24'))) 끝. 기능. 스위트:testIsInSubnetFromString() 자신:assert True(참)(IP 주소.신규('1.2.3.4'):is In Subnet('1.2.3.0/24')) 자신:assert False(거짓)(IP 주소.신규('1.2.3.4'):is In Subnet('1.2.4.0/24')) 끝. 기능. 스위트:testIsInSubnetErrors() 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, 'InSubnet', 기능. () IP 주소.신규('1.2.3.4').is In Subnet() 끝. ) 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, 'InSubnet', 기능. () IP 주소.신규('1.2.3.4').is In Subnet(IP 주소.신규('5.6.7.8')) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, 'InSubnet', '문자열 또는 테이블', '실패', 기능. () IP 주소.신규('1.2.3.4'):is In Subnet(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, 'InSubnet', '문자열 또는 테이블', '실패', 기능. () IP 주소.신규('1.2.3.4'):is In Subnet() 끝. ) 자신:assertCIDRStringError(CID String 오류)( '푸', 기능. () IP 주소.신규('1.2.3.4'):is In Subnet('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, 'InSubnet', '서브넷', 기능. () IP 주소.신규('1.2.3.4'):is In Subnet{후우 = '바'} 끝. ) 끝. 기능. 스위트:test Get Subnet() 자신:assert Equals(동일)( '1.2.3.0/24', IP 주소.신규('1.2.3.4'):서브넷을 취득하다(24):CIDR을 취득하다() ) 자신:assert Equals(동일)( '1.2.3.128/25', IP 주소.신규('1.2.3.130'):서브넷을 취득하다(25):CIDR을 취득하다() ) 끝. 기능. 스위트:testGetSubnetErrors() 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, '서브넷을 얻다', 기능. () IP 주소.신규('1.2.3.4').서브넷을 취득하다(24) 끝. ) 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, '서브넷을 얻다', 기능. () IP 주소.신규('1.2.3.4').서브넷을 취득하다(IP 주소.신규('5.6.7.8'), 24) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '서브넷을 얻다', '숫자', '실패', 기능. () IP 주소.신규('1.2.3.4'):서브넷을 취득하다(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '서브넷을 얻다', '숫자', '실패', 기능. () IP 주소.신규('1.2.3.4'):서브넷을 취득하다() 끝. ) 끝. 기능. 스위트:test Get SubnetIPv4 Number Errors(IPv4 번호 오류)() 현지의 메세지 = "getSubnet'에 대한 잘못된 인수 #1(0에서 32 사이의 정수여야 함)" 자신:assert Error(아스텐 에러)(메세지, 진실의, 기능. () IP 주소.신규('1.2.3.4'):서브넷을 취득하다(33) 끝.) 자신:assert Error(아스텐 에러)(메세지, 진실의, 기능. () IP 주소.신규('1.2.3.4'):서브넷을 취득하다(-1) 끝.) 자신:assert Error(아스텐 에러)(메세지, 진실의, 기능. () IP 주소.신규('1.2.3.4'):서브넷을 취득하다(24.5) 끝.) 끝. 기능. 스위트:test Get SubnetIPv6 Number Errors(IPv6 번호 오류)() 현지의 메세지 = "getSubnet'에 대한 잘못된 인수 #1(0에서 128 사이의 정수여야 함)" 자신:assert Error(아스텐 에러)(메세지, 진실의, 기능. () IP 주소.신규('2001:db8::ff00:12:3456'):서브넷을 취득하다(129) 끝.) 자신:assert Error(아스텐 에러)(메세지, 진실의, 기능. () IP 주소.신규('2001:db8::ff00:12:3456'):서브넷을 취득하다(-1) 끝.) 자신:assert Error(아스텐 에러)(메세지, 진실의, 기능. () IP 주소.신규('2001:db8::ff00:12:3456'):서브넷을 취득하다(112.5) 끝.) 끝. 기능. 스위트:테스트 Get Next아이피() 자신:assert Equals(동일)('1.2.3.5', 스트링(IP 주소.신규('1.2.3.4'):Next IP를 취득하다())) 자신:assert Equals(동일)( IP 주소.신규('2001:db8::ff00:12:3457'), IP 주소.신규('2001:db8::ff00:12:3456'):Next IP를 취득하다() ) 끝. 기능. 스위트:testGetNextIP 랩어라운드() 자신:assert Equals(동일)( IP 주소.신규('0.0.0.0'), IP 주소.신규('255.255.255.255'):Next IP를 취득하다() ) 자신:assert Equals(동일)( '::', 스트링(IP 주소.신규('fff:fff:fff:fff:fff:fff:fff:fff'):Next IP를 취득하다()) ) 끝. 기능. 스위트:testGetNextIPErrors() 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, '다음으로 이동'IP', 기능. () IP 주소.신규('1.2.3.4').Next IP를 취득하다() 끝. ) 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, '다음으로 이동'IP', 기능. () IP 주소.신규('1.2.3.4').Next IP를 취득하다(IP 주소.신규('5.6.7.8')) 끝. ) 끝. 기능. 스위트:testGetPrevious(이전 설정)아이피() 자신:assert Equals(동일)( IP 주소.신규('1.2.3.3'), IP 주소.신규('1.2.3.4'):이전을 취득하다아이피() ) 자신:assert Equals(동일)( IP 주소.신규('2001:db8::ff00:12:3455'), IP 주소.신규('2001:db8::ff00:12:3456'):이전을 취득하다아이피() ) 끝. 기능. 스위트:testGetPrevious(이전 설정)IP 어라운드() 자신:assert Equals(동일)( IP 주소.신규('255.255.255.255'), IP 주소.신규('0.0.0.0'):이전을 취득하다아이피() ) 자신:assert Equals(동일)( IP 주소.신규('fff:fff:fff:fff:fff:fff:fff:fff'), IP 주소.신규('::'):이전을 취득하다아이피() ) 끝. 기능. 스위트:testGetPrevious(이전 설정)IPErrors(IPErrors)() 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, '이전 상태로 되돌아가다'IP', 기능. () IP 주소.신규('1.2.3.4').이전을 취득하다아이피() 끝. ) 자신:assertSelfParameterError( IP_ADDRESS_CLASS, IP_ADDRESS_OBJECT, '이전 상태로 되돌아가다'IP', 기능. () IP 주소.신규('1.2.3.4').이전을 취득하다아이피(IP 주소.신규('5.6.7.8')) 끝. ) 끝. 기능. 스위트:testGetIPMetable() 자신:assert Not Metable(측정 불가)(getmetable(IP 주소.신규('1.2.3.4'))) 끝. 기능. 스위트:test Set IPMetable() 자신:assert Metable Protected(assert Metable 보호)(IP 주소.신규('1.2.3.4')) 끝. ------------------------------------------------------------------------------- -- 서브넷 테스트 ------------------------------------------------------------------------------- 기능. 스위트:testValidCIDR() 현지의 기능. assertValidCIDR(cidr) 자신:assert True(참)(유형(서브넷.신규(cidr)) == '테이블') 끝. assertValidCIDR('1.2.3.0/24') assertValidCIDR(' 1.2.3.0/24 ') assertValidCIDR('0.0.0.0/0') assertValidCIDR('0.0.0.0/32') assertValidCIDR('255.255.255.255/32') assertValidCIDR('2001:db8::ff00:12:0/syslog') assertValidCIDR('2001:DB8::FF00:12:0/122') assertValidCIDR('::/0') assertValidCIDR('::/128') 끝. 기능. 스위트:test InvalidCIDR() 현지의 기능. assert Invalid CIDR(cidr) 자신:assert Error(아스텐 에러)( string.format("%s는 비활성 CIDR 문자열입니다.", cidr), 진실의, 기능. () 서브넷.신규(cidr) 끝. ) 끝. assert Invalid CIDR('푸') assert Invalid CIDR('0/0') assert Invalid CIDR('/24') assert Invalid CIDR('1.2.3/24') assert Invalid CIDR(':/0') assert Invalid CIDR('1.2.3.4') assert Invalid CIDR('0.0.0.0/33') assert Invalid CIDR('0.0.0.0/-1') assert Invalid CIDR('256.0.0.0/24') assert Invalid CIDR('1.2.3.4/24') assert Invalid CIDR('1.2.3.0/16') assert Invalid CIDR('0.0.0.0/01') -- 비트 길이의 선두 0 assert Invalid CIDR('2001:db8::ff00:12:3456') assert Invalid CIDR('2001:db8::ff00:12:0/foo') assert Invalid CIDR('::/-1') assert Invalid CIDR('::/129') assert Invalid CIDR('ggg:db8::ff00:12:0/syslog') assert Invalid CIDR('2001:db8::ff00:12:3456/syslog') assert Invalid CIDR('2001:db8::ff00:12:0/syslog') 끝. 기능. 스위트:test Subnet Constructor Errors() 자신:assertTypeError(ASST타입에러)( 1, 'Subnet.new', '문자열, '실패', 기능. () 서브넷.신규(진실의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, 'Subnet.new', '문자열, '숫자', 기능. () 서브넷.신규(7) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, 'Subnet.new', '문자열, '실패', 기능. () 서브넷.신규() 끝. ) 끝. 기능. 스위트:test Subnet Equals(서브넷 등)() 자신:assert True(참)(서브넷.신규('1.2.3.0/24') == 서브넷.신규('1.2.3.0/24')) 자신:assert False(거짓)(서브넷.신규('1.2.3.0/24') == 서브넷.신규('1.2.0.0/16')) 끝. 기능. 스위트:테스트 Concat Subnet() 자신:assert Equals(동일)( '1.2.3.0/244.5.6.0/24', 서브넷.신규('1.2.3.0/24') .. 서브넷.신규('4.5.6.0/24') ) 자신:assert Equals(동일)('1.2.3.0/24 foo', 서브넷.신규('1.2.3.0/24') .. '푸') 자신:assert Equals(동일)('foo 1.2.3.0/24', '푸' .. 서브넷.신규('1.2.3.0/24')) 끝. 기능. 스위트:test Subnet To String() 자신:assert Equals(동일)('1.2.3.0/24', 스트링(서브넷.신규('1.2.3.0/24'))) 자신:assert Equals(동일)( '2001:db8::ff00:12:0/syslog', 스트링(서브넷.신규('2001:db8::ff00:12:0/syslog')) ) 끝. 기능. 스위트:test Subnet Getmetable() 자신:assert Not Metable(측정 불가)(getmetable(서브넷.신규('1.2.3.0/24'))) 끝. 기능. 스위트:test Subnet Setmetable() 자신:assert Metable Protected(assert Metable 보호)(서브넷.신규('1.2.3.0/24')) 끝. 기능. 스위트:test Subnet Get Prefix() 자신:assert Equals(동일)( IP 주소.신규('1.2.3.0'), 서브넷.신규('1.2.3.0/24'):get Prefix(프리픽스)() ) 끝. 기능. 스위트:test Subnet Get Prefix Errors() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '취득 프리픽스', 기능. () 서브넷.신규('1.2.3.0/24').get Prefix(프리픽스)() 끝. ) 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '취득 프리픽스', 기능. () 서브넷.신규('1.2.3.0/24').get Prefix(프리픽스)(서브넷.신규('4.5.6.0/24')) 끝. ) 끝. 기능. 스위트:test Subnet Get Highest아이피() 자신:assert Equals(동일)( IP 주소.신규('1.2.3.255'), 서브넷.신규('1.2.3.0/24'):가장 높은 값을 취득아이피() ) 끝. 기능. 스위트:test Get Highest(최고)IPFrom Get Subnet() 자신:assert Equals(동일)( IP 주소.신규('1.2.3.255'), IP 주소.신규('1.2.3.4'):서브넷을 취득하다(24):가장 높은 값을 취득아이피() ) 끝. 기능. 스위트:test Subnet Get HighestIPErrors(IPErrors)() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '최고값 취득'IP', 기능. () 서브넷.신규('1.2.3.0/24').가장 높은 값을 취득아이피() 끝. ) 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '최고값 취득'IP', 기능. () 서브넷.신규('1.2.3.0/24').가장 높은 값을 취득아이피(서브넷.신규('4.5.6.0/24')) 끝. ) 끝. 기능. 스위트:test Subnet Get Bit Length() 자신:assert Equals(동일)(24, 서브넷.신규('1.2.3.0/24'):getBitLength()) 끝. 기능. 스위트:test Subnet Get Bit Length Errors() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '비트 길이 가져오기', 기능. () 서브넷.신규('1.2.3.0/24').getBitLength() 끝. ) 끝. 기능. 스위트:test Subnet Get CIDR() 자신:assert Equals(동일)('1.2.3.0/24', 서브넷.신규('1.2.3.0/24'):CIDR을 취득하다()) 끝. 기능. 스위트:testGetCIDRErrors() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, 'getCIDR', 기능. () 서브넷.신규('1.2.3.0/24').CIDR을 취득하다() 끝. ) 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, 'getCIDR', 기능. () 서브넷.신규('1.2.3.0/24').CIDR을 취득하다(서브넷.신규('4.5.6.0/24')) 끝. ) 끝. 기능. 스위트:test Subnet Get Version() 자신:assert Equals(동일)(「IPv4」, 서브넷.신규('1.2.3.0/24'):getVersion()) 자신:assert Equals(동일)(「IPv6」, 서브넷.신규('2001:db8::ff00:0:0/96'):getVersion()) 끝. 기능. 스위트:test Subnet Get Version Errors() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '버전 취득', 기능. () 서브넷.신규('1.2.3.0/24').getVersion() 끝. ) 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '버전 취득', 기능. () 서브넷.신규('1.2.3.0/24').getVersion(서브넷.신규('4.5.6.0/24')) 끝. ) 끝. 기능. 스위트:테스트 서브넷IPv4() 자신:assert True(참)(서브넷.신규('1.2.3.0/24'):ISIPv4()) 자신:assert False(거짓)(서브넷.신규('2001:db8::ff00:0:0/96'):ISIPv4()) 끝. 기능. 스위트:테스트 서브넷IPv4 에러() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, 「isIPv4」, 기능. () 서브넷.신규('1.2.3.0/24').ISIPv4() 끝. ) 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, 「isIPv4」, 기능. () 서브넷.신규('1.2.3.0/24').ISIPv4(서브넷.신규('4.5.6.0/24')) 끝. ) 끝. 기능. 스위트:테스트 서브넷IPv6() 자신:assert True(참)(서브넷.신규('2001:db8::ff00:0:0/96'):IPv6()) 자신:assert False(거짓)(서브넷.신규('1.2.3.0/24'):IPv6()) 끝. 기능. 스위트:테스트 서브넷IPv6 에러() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, 「isIPv6」, 기능. () 서브넷.신규('1.2.3.0/24').IPv6() 끝. ) 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, 「isIPv6」, 기능. () 서브넷.신규('1.2.3.0/24').IPv6(서브넷.신규('4.5.6.0/24')) 끝. ) 끝. 기능. 스위트:test Subnet 포함아이피() 자신:assert True(참)( 서브넷.신규('1.2.3.0/24'):포함하다아이피(IP 주소.신규('1.2.3.4')) ) 자신:assert False(거짓)( 서브넷.신규('1.2.3.0/24'):포함하다아이피(IP 주소.신규('1.2.4.4')) ) 끝. 기능. 스위트:test Subnet 포함IPErrors(IPErrors)() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '오디오'IP', 기능. () 서브넷.신규('1.2.3.0/24').포함하다아이피(IP 주소.신규('1.2.3.4')) 끝. ) 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '오디오'IP', 기능. () 서브넷.신규('1.2.3.0/24').포함하다아이피( 서브넷.신규('4.5.6.0/24'), IP 주소.신규('1.2.3.4') ) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '오디오'IP', '문자열 또는 테이블', '실패', 기능. () 서브넷.신규('1.2.3.0/24'):포함하다아이피(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '오디오'IP', '문자열 또는 테이블', '실패', 기능. () 서브넷.신규('1.2.3.0/24'):포함하다아이피() 끝. ) 자신:assert IPString 오류( '푸', 기능. () 서브넷.신규('1.2.3.0/24'):포함하다아이피('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, '오디오'IP', 'IPAddress', 기능. () 서브넷.신규('1.2.3.0/24'):포함하다아이피{후우 = '바'} 끝. ) 끝. 기능. 스위트:test Overlaps Subnet() 자신:assert True(참)( 서브넷.신규('1.2.0.0/16'):중복 서브넷(서브넷.신규('1.2.3.0/24')) ) 자신:assert False(거짓)( 서브넷.신규('1.2.0.0/16'):중복 서브넷(서브넷.신규('1.3.3.0/24')) ) 끝. 기능. 스위트:testOverlapsSubnetErrors() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '오버랩 서브넷', 기능. () 서브넷.신규('1.2.3.0/24').중복 서브넷(서브넷.신규('1.2.0.0/16')) 끝. ) 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '오버랩 서브넷', 기능. () 서브넷.신규('1.2.3.0/24').중복 서브넷( 서브넷.신규('4.5.6.0/24'), 서브넷.신규('1.2.0.0/16') ) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '오버랩 서브넷', '문자열 또는 테이블', '실패', 기능. () 서브넷.신규('1.2.3.0/24'):중복 서브넷(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '오버랩 서브넷', '문자열 또는 테이블', '실패', 기능. () 서브넷.신규('1.2.3.0/24'):중복 서브넷() 끝. ) 자신:assertCIDRStringError(CID String 오류)( '푸', 기능. () 서브넷.신규('1.2.3.0/24'):중복 서브넷('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, '오버랩 서브넷', '서브넷', 기능. () 서브넷.신규('1.2.3.0/24'):중복 서브넷{후우 = '바'} 끝. ) 끝. 기능. 스위트:테스트 Walk Subnet() 하다 현지의 IPS = {} 위해서 아이피 에 서브넷.신규('1.2.3.0/30'):걸어.() 하다 IPS[#IPS + 1] = 스트링(아이피) 끝. 자신:assert Equals(동일)( '1.2.3.0 1.2.3.1 1.2.3.2 1.2.3.3', table.concat(IPS, ' ') ) 끝. 하다 현지의 IPS = {} 위해서 아이피 에 서브넷.신규('2001:db8::ff00:0:0/syslog'):걸어.() 하다 IPS[#IPS + 1] = 스트링(아이피) 끝. 자신:assert Equals(동일)( '2001:db8::ff00:0:0 2001:db8:ff00:0:1 2001:db8:ff00:0:2 2001:db8:ff00:0:0:3', table.concat(IPS, ' ') ) 끝. 끝. 기능. 스위트:testWalkSubnetErrors() 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '걷다', 기능. () 서브넷.신규('1.2.3.0/24').걸어.() 끝. ) 자신:assertSelfParameterError( 서브넷 클래스, 서브넷_오브젝트, '걷다', 기능. () 서브넷.신규('1.2.3.0/24').걸어.(서브넷.신규('4.5.6.0/24')) 끝. ) 끝. ------------------------------------------------------------------------------- -- IPv4 Collection 테스트 ------------------------------------------------------------------------------- 기능. 스위트:testIPv4CollectionConstructor() 자신:assertIPv4CollectionObject(IPv4 컬렉션.신규()) 끝. 기능. 스위트:test IPv4 Collection Get Version() 자신:assert Equals(동일)(「IPv4」, IPv4 컬렉션.신규():getVersion()) 끝. 기능. 스위트:test IPv4 Collection Add아이피() 자신:assert Not Error(ASST Not 오류)(기능. () IPv4 컬렉션.신규():add IP('1.2.3.4') 끝.) 자신:assert Not Error(ASST Not 오류)(기능. () IPv4 컬렉션.신규():add IP(IP 주소.신규('1.2.3.4')) 끝.) 스위트:assert IPString 오류( '푸', 기능. () IPv4 컬렉션.신규():add IP(IP 주소.신규('푸')) 끝. ) 스위트:assert IPString 오류( '1.2.3.0/24', 기능. () IPv4 컬렉션.신규():add IP(IP 주소.신규('1.2.3.0/24')) 끝. ) 끝. 기능. 스위트:test IPv4 Collection AddIPChaining() 자신:assert Not Error(ASST Not 오류)(기능. () IPv4 컬렉션.신규() :add IP('1.2.3.4') :add IP('5.6.7.8') 끝.) 끝. 기능. 스위트:test IPv4 Collection AddIPErrors(IPErrors)() 자신:assertTypeError(ASST타입에러)( 1, 'add IP', '문자열 또는 테이블', '실패', 기능. () IPv4 컬렉션.신규():add IP(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, 'add IP', '문자열 또는 테이블', '실패', 기능. () IPv4 컬렉션.신규():add IP() 끝. ) 자신:assert IPString 오류( '푸', 기능. () IPv4 컬렉션.신규():add IP('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, 'add IP', 'IPAddress', 기능. () IPv4 컬렉션.신규():add IP{후우 = '바'} 끝. ) 끝. 기능. 스위트:test IPv4 Collection Add Subnet() 자신:assert Not Error(ASST Not 오류)(기능. () IPv4 컬렉션.신규():addSubnet(서브넷 추가)('1.2.3.0/24') 끝.) 자신:assert Not Error(ASST Not 오류)(기능. () IPv4 컬렉션.신규():addSubnet(서브넷 추가)(서브넷.신규('1.2.3.0/24')) 끝.) 스위트:assertCIDRStringError(CID String 오류)( '푸', 기능. () IPv4 컬렉션.신규():addSubnet(서브넷 추가)('푸') 끝. ) 스위트:assertCIDRStringError(CID String 오류)( '1.2.3.4', 기능. () IPv4 컬렉션.신규():addSubnet(서브넷 추가)('1.2.3.4') 끝. ) 끝. 기능. 스위트:test IPv4 Collection Add Subnet Chaining() 자신:assert Not Error(ASST Not 오류)(기능. () IPv4 컬렉션.신규() :addSubnet(서브넷 추가)('1.2.3.0/24') :addSubnet(서브넷 추가)('5.6.7.0/24') 끝.) 끝. 기능. 스위트:test IPv4 Collection Add Subnet Errors() 자신:assertTypeError(ASST타입에러)( 1, '서브넷 추가', '문자열 또는 테이블', '실패', 기능. () IPv4 컬렉션.신규():addSubnet(서브넷 추가)(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '서브넷 추가', '문자열 또는 테이블', '실패', 기능. () IPv4 컬렉션.신규():addSubnet(서브넷 추가)() 끝. ) 자신:assertCIDRStringError(CID String 오류)( '푸', 기능. () IPv4 컬렉션.신규():addSubnet(서브넷 추가)('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, '서브넷 추가', '서브넷', 기능. () IPv4 컬렉션.신규():addSubnet(서브넷 추가){후우 = '바'} 끝. ) 끝. 기능. 스위트:testIPv4Collection 포함아이피() 현지의 수집 = IPv4 컬렉션.신규() 수집:add IP('1.2.3.4') 자신:assert Equals(동일)(진실의, 수집:포함하다아이피('1.2.3.4')) 자신:assert Equals(동일)(진실의, 수집:포함하다아이피(IP 주소.신규('1.2.3.4'))) 자신:assert Equals(동일)(거짓의, 수집:포함하다아이피('1.2.3.5')) 끝. 기능. 스위트:testIPv4Collection 포함IPErrors(IPErrors)() 자신:assertTypeError(ASST타입에러)( 1, '오디오'IP', '문자열 또는 테이블', '실패', 기능. () IPv4 컬렉션.신규():포함하다아이피(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '오디오'IP', '문자열 또는 테이블', '실패', 기능. () IPv4 컬렉션.신규():포함하다아이피() 끝. ) 자신:assert IPString 오류( '푸', 기능. () IPv4 컬렉션.신규():포함하다아이피('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, '오디오'IP', 'IPAddress', 기능. () IPv4 컬렉션.신규():포함하다아이피{후우 = '바'} 끝. ) 끝. 기능. 스위트:test IPv4 Collection Get Ranges() 현지의 수집 = IPv4 컬렉션.신규() 수집:addSubnet(서브넷 추가)('1.2.0.0/24') 수집:addSubnet(서브넷 추가)('1.2.1.0/24') 자신:assertRangesEqual( {{IP 주소.신규('1.2.0.0'), IP 주소.신규('1.2.1.255')}}, 수집:범위 설정() ) 수집:addSubnet(서브넷 추가)('1.2.10.0/24') 자신:assertRangesEqual( { {IP 주소.신규('1.2.0.0'), IP 주소.신규('1.2.1.255')}, {IP 주소.신규('1.2.10.0'), IP 주소.신규('1.2.10.255')}, }, 수집:범위 설정() ) 끝. 기능. 스위트:test IPv4 Collection Overlaps Subnet() 현지의 수집 = IPv4 컬렉션.신규() 자신:assert Equals(동일)(거짓의, 수집:중복 서브넷('1.2.3.0/24')) 수집:add IP('1.2.3.4') 자신:assert Equals(동일)(진실의, 수집:중복 서브넷('1.2.3.0/24')) 자신:assert Equals(동일)(거짓의, 수집:중복 서브넷('5.6.7.0/24')) 끝. 기능. 스위트:testIPv4CollectionOverlapsSubnetObjects() 현지의 수집 = IPv4 컬렉션.신규() 자신:assert Equals(동일)(거짓의, 수집:중복 서브넷(서브넷.신규('1.2.3.0/24'))) 수집:add IP('1.2.3.4') 자신:assert Equals(동일)(진실의, 수집:중복 서브넷(서브넷.신규('1.2.3.0/24'))) 자신:assert Equals(동일)(거짓의, 수집:중복 서브넷(서브넷.신규('5.6.7.0/24'))) 끝. 기능. 스위트:test IPv4 Collection Overlaps Subnet Errors() 자신:assertTypeError(ASST타입에러)( 1, '오버랩 서브넷', '문자열 또는 테이블', '실패', 기능. () IPv4 컬렉션.신규():중복 서브넷(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '오버랩 서브넷', '문자열 또는 테이블', '실패', 기능. () IPv4 컬렉션.신규():중복 서브넷() 끝. ) 자신:assertCIDRStringError(CID String 오류)( '푸', 기능. () IPv4 컬렉션.신규():중복 서브넷('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, '오버랩 서브넷', '서브넷', 기능. () IPv4 컬렉션.신규():중복 서브넷{후우 = '바'} 끝. ) 끝. 기능. 스위트:test IPv4 Collection Add From String() 현지의 수집 = IPv4 컬렉션.신규() 수집:addFromString('foo 1.2.3.4 bar 5.6.7.0/24 baz') 자신:assert True(참)(수집:포함하다아이피('1.2.3.4')) 자신:assert True(참)(수집:중복 서브넷('5.6.7.0/24')) 끝. 기능. 스위트:test IPv4 Collection Add From String Chaining() 자신:assert Not Error(ASST Not 오류)(기능. () IPv4 컬렉션.신규() :addFromString('foo 1.2.3.4') :addFromString('바 5.6.7.8') 끝.) 끝. 기능. 스위트:test IPv4 Collection Add From String Errors() 자신:assertTypeError(ASST타입에러)( 1, '시작 문자열 추가', '문자열, '실패', 기능. () IPv4 컬렉션.신규():addFromString(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '시작 문자열 추가', '문자열, '실패', 기능. () IPv4 컬렉션.신규():addFromString() 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '시작 문자열 추가', '문자열, '테이블', 기능. () IPv4 컬렉션.신규():addFromString{} 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '시작 문자열 추가', '문자열, '숫자', 기능. () IPv4 컬렉션.신규():addFromString(7) 끝. ) 끝. ------------------------------------------------------------------------------- -- IPv6 Collection 테스트 ------------------------------------------------------------------------------- 기능. 스위트:test IPv6 Collection Constructor() 자신:assertIPv6CollectionObject(IPv6 수집.신규()) 끝. 기능. 스위트:test IPv6 Collection Get Version() 자신:assert Equals(동일)(「IPv6」, IPv6 수집.신규():getVersion()) 끝. 기능. 스위트:test IPv6 Collection Add아이피() 자신:assert Not Error(ASST Not 오류)(기능. () IPv6 수집.신규():add IP('2001:db8::ff00:12:3456') 끝.) 자신:assert Not Error(ASST Not 오류)(기능. () IPv6 수집.신규():add IP(IP 주소.신규('2001:db8::ff00:12:3456')) 끝.) 스위트:assert IPString 오류( '푸', 기능. () IPv6 수집.신규():add IP(IP 주소.신규('푸')) 끝. ) 스위트:assert IPString 오류( '2001:db8::ff00:12:0/112', 기능. () IPv6 수집.신규():add IP(IP 주소.신규('2001:db8::ff00:12:0/112')) 끝. ) 끝. 기능. 스위트:test IPv6 Collection AddIPChaining() 자신:assert Not Error(ASST Not 오류)(기능. () IPv6 수집.신규() :add IP('2001:db8::ff00:0:1234') :add IP('2001:db8::ff00:0:5678') 끝.) 끝. 기능. 스위트:test IPv6 Collection AddIPErrors(IPErrors)() 자신:assertTypeError(ASST타입에러)( 1, 'add IP', '문자열 또는 테이블', '실패', 기능. () IPv6 수집.신규():add IP(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, 'add IP', '문자열 또는 테이블', '실패', 기능. () IPv6 수집.신규():add IP() 끝. ) 자신:assert IPString 오류( '푸', 기능. () IPv6 수집.신규():add IP('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, 'add IP', 'IPAddress', 기능. () IPv6 수집.신규():add IP{후우 = '바'} 끝. ) 끝. 기능. 스위트:test IPv6 Collection Add Subnet() 자신:assert Not Error(ASST Not 오류)(기능. () IPv6 수집.신규():addSubnet(서브넷 추가)('2001:db8::ff00:12:0/112') 끝.) 자신:assert Not Error(ASST Not 오류)(기능. () IPv6 수집.신규():addSubnet(서브넷 추가)(서브넷.신규('2001:db8::ff00:12:0/112')) 끝.) 스위트:assertCIDRStringError(CID String 오류)( '푸', 기능. () IPv6 수집.신규():addSubnet(서브넷 추가)('푸') 끝. ) 스위트:assertCIDRStringError(CID String 오류)( '2001:db8::ff00:12:3456', 기능. () IPv6 수집.신규():addSubnet(서브넷 추가)('2001:db8::ff00:12:3456') 끝. ) 끝. 기능. 스위트:test IPv6 Collection Add Subnet Chaining() 자신:assert Not Error(ASST Not 오류)(기능. () IPv6 수집.신규() :addSubnet(서브넷 추가)('2001:db8::ff00:0:0/112') :addSubnet(서브넷 추가)('2001:db8::ff00:1:0/112') 끝.) 끝. 기능. 스위트:test IPv6 Collection Add Subnet Errors() 자신:assertTypeError(ASST타입에러)( 1, '서브넷 추가', '문자열 또는 테이블', '실패', 기능. () IPv6 수집.신규():addSubnet(서브넷 추가)(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '서브넷 추가', '문자열 또는 테이블', '실패', 기능. () IPv6 수집.신규():addSubnet(서브넷 추가)() 끝. ) 자신:assertCIDRStringError(CID String 오류)( '푸', 기능. () IPv6 수집.신규():addSubnet(서브넷 추가)('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, '서브넷 추가', '서브넷', 기능. () IPv6 수집.신규():addSubnet(서브넷 추가){후우 = '바'} 끝. ) 끝. 기능. 스위트:testIPv6Collection 포함아이피() 현지의 수집 = IPv6 수집.신규() 수집:add IP('2001:db8::ff00:12:3456') 자신:assert Equals(동일)(진실의, 수집:포함하다아이피('2001:db8::ff00:12:3456')) 자신:assert Equals(동일)(진실의, 수집:포함하다아이피(IP 주소.신규('2001:db8::ff00:12:3456'))) 자신:assert Equals(동일)(거짓의, 수집:포함하다아이피('1.2.3.5')) 끝. 기능. 스위트:testIPv6Collection 포함IPErrors(IPErrors)() 자신:assertTypeError(ASST타입에러)( 1, '오디오'IP', '문자열 또는 테이블', '실패', 기능. () IPv6 수집.신규():포함하다아이피(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '오디오'IP', '문자열 또는 테이블', '실패', 기능. () IPv6 수집.신규():포함하다아이피() 끝. ) 자신:assert IPString 오류( '푸', 기능. () IPv6 수집.신규():포함하다아이피('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, '오디오'IP', 'IPAddress', 기능. () IPv6 수집.신규():포함하다아이피{후우 = '바'} 끝. ) 끝. 기능. 스위트:test IPv6 Collection Get Ranges() 현지의 수집 = IPv6 수집.신규() 수집:addSubnet(서브넷 추가)('2001:db8::ff00:0:0/112') 수집:addSubnet(서브넷 추가)('2001:db8::ff00:1:0/112') 자신:assertRangesEqual( {{IP 주소.신규('2001:db8::ff00:0:0'), IP 주소.신규('2001:db8::ff00:1:fffff')}}, 수집:범위 설정() ) 수집:addSubnet(서브넷 추가)('2001:db8::ff00:10:0/112') 자신:assertRangesEqual( { {IP 주소.신규('2001:db8::ff00:0:0'), IP 주소.신규('2001:db8::ff00:1:fffff')}, {IP 주소.신규('2001:db8::ff00:10:0'), IP 주소.신규('2001:db8::ff00:10:fff')}, }, 수집:범위 설정() ) 끝. 기능. 스위트:test IPv6 Collection Overlaps Subnet() 현지의 수집 = IPv6 수집.신규() 자신:assert Equals(동일)(거짓의, 수집:중복 서브넷('2001:db8::ff00:12:0/112')) 수집:add IP('2001:db8::ff00:12:3456') 자신:assert Equals(동일)(진실의, 수집:중복 서브넷('2001:db8::ff00:12:0/112')) 자신:assert Equals(동일)(거짓의, 수집:중복 서브넷('2001:db8::ff00:34:0/112')) 끝. 기능. 스위트:test IPv6 Collection Overlaps Subnet Objects() 현지의 수집 = IPv6 수집.신규() 자신:assert Equals(동일)(거짓의, 수집:중복 서브넷(서브넷.신규('2001:db8::ff00:12:0/112'))) 수집:add IP('2001:db8::ff00:12:3456') 자신:assert Equals(동일)(진실의, 수집:중복 서브넷(서브넷.신규('2001:db8::ff00:12:0/112'))) 자신:assert Equals(동일)(거짓의, 수집:중복 서브넷(서브넷.신규('2001:db8::ff00:34:0/112'))) 끝. 기능. 스위트:test IPv6 Collection Overlaps Subnet Errors() 자신:assertTypeError(ASST타입에러)( 1, '오버랩 서브넷', '문자열 또는 테이블', '실패', 기능. () IPv6 수집.신규():중복 서브넷(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '오버랩 서브넷', '문자열 또는 테이블', '실패', 기능. () IPv6 수집.신규():중복 서브넷() 끝. ) 자신:assertCIDRStringError(CID String 오류)( '푸', 기능. () IPv6 수집.신규():중복 서브넷('푸') 끝. ) 자신:assert Object Error(ASST 오브젝트 오류)( 1, '오버랩 서브넷', '서브넷', 기능. () IPv6 수집.신규():중복 서브넷{후우 = '바'} 끝. ) 끝. 기능. 스위트:test IPv6 Collection Add From String() 현지의 수집 = IPv6 수집.신규() 수집:addFromString('foo 2001:db8::ff00:12:3456 bar 2001:db8::ff00:34:0/112 baz') 자신:assert True(참)(수집:포함하다아이피('2001:db8::ff00:12:3456')) 자신:assert True(참)(수집:중복 서브넷('2001:db8::ff00:34:0/112')) 끝. 기능. 스위트:test IPv6 Collection Add From String Starting Colon() 현지의 수집 = IPv6 수집.신규() 수집:addFromString(':12:1234 foo') 자신:assert True(참)(수집:포함하다아이피('::12:1234')) 끝. 기능. 스위트:test IPv6 Collection Add From String Starting들여쓰기() 현지의 수집 = IPv6 수집.신규() 수집:addFromString(':앞서 말씀드렸듯이 2001:db8::ff00:12:3456은 차단되어야 합니다.~~~~') 자신:assert True(참)(수집:포함하다아이피('2001:db8::ff00:12:3456')) 자신:assert False(거짓)(수집:포함하다아이피('::')) 끝. 기능. 스위트:test IPv6 Collection Add From String Chaining() 자신:assert Not Error(ASST Not 오류)(기능. () IPv6 수집.신규() :addFromString('foo 2001:db8:ff00:0:1234') :addFromString('bar 2001:db8::ff00:0:5678') 끝.) 끝. 기능. 스위트:test IPv6 Collection Add From String Errors() 자신:assertTypeError(ASST타입에러)( 1, '시작 문자열 추가', '문자열, '실패', 기능. () IPv6 수집.신규():addFromString(거짓의) 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '시작 문자열 추가', '문자열, '실패', 기능. () IPv6 수집.신규():addFromString() 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '시작 문자열 추가', '문자열, '테이블', 기능. () IPv6 수집.신규():addFromString{} 끝. ) 자신:assertTypeError(ASST타입에러)( 1, '시작 문자열 추가', '문자열, '숫자', 기능. () IPv6 수집.신규():addFromString(7) 끝. ) 끝. 돌아가다 스위트