test(address): 주소 검색 계약을 검증한다
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import Foundation
|
||||
|
||||
@main
|
||||
enum KakaoPostcodeResultCheck {
|
||||
static func main() {
|
||||
let result = KakaoPostcodeResult(payload: [
|
||||
"zonecode": "01234", "address": "서울 지번 주소", "roadAddress": "다른 도로명 주소"
|
||||
])
|
||||
precondition(result?.zonecode == "01234", "preserve leading zero")
|
||||
precondition(result?.address == "서울 지번 주소", "use exact address, not roadAddress")
|
||||
let exact = KakaoPostcodeResult(payload: ["zonecode": " 01234 ", "address": " 주소 "])
|
||||
precondition(exact?.zonecode == " 01234 " && exact?.address == " 주소 ", "do not rewrite values")
|
||||
let invalid: [Any] = [
|
||||
"not a dictionary", [:], ["address": "주소"], ["zonecode": "01234"],
|
||||
["zonecode": 1234, "address": "주소"], ["zonecode": "01234", "address": 1],
|
||||
["zonecode": "", "address": "주소"], ["zonecode": " \n", "address": "주소"],
|
||||
["zonecode": "01234", "address": ""], ["zonecode": "01234", "address": "\t\n"],
|
||||
["zonecode": NSNull(), "address": "주소"], ["zonecode": "01234", "address": NSNull()]
|
||||
]
|
||||
for payload in invalid {
|
||||
precondition(KakaoPostcodeResult(payload: payload) == nil, "reject malformed result")
|
||||
}
|
||||
print("PASS KakaoPostcodeResult: 15 assertions")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user