26 lines
1.3 KiB
Swift
26 lines
1.3 KiB
Swift
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")
|
|
}
|
|
}
|