Working on DART result unit test
This commit is contained in:
@@ -1200,16 +1200,25 @@ extension DomesticDart {
|
|||||||
/// 회사명
|
/// 회사명
|
||||||
public let corporationName: String
|
public let corporationName: String
|
||||||
/// 상장예정주식 종류ㆍ수(주)(보통주식)
|
/// 상장예정주식 종류ㆍ수(주)(보통주식)
|
||||||
|
public let listingCommonStockQuantity: String
|
||||||
/// 상장예정주식 종류ㆍ수(주)(기타주식)
|
/// 상장예정주식 종류ㆍ수(주)(기타주식)
|
||||||
|
public let listingEtcStockQuantity: String
|
||||||
/// 발행주식 총수(주)(보통주식)
|
/// 발행주식 총수(주)(보통주식)
|
||||||
|
public let issuedTotalCommonStock: String
|
||||||
/// 발행주식 총수(주)(기타주식)
|
/// 발행주식 총수(주)(기타주식)
|
||||||
|
public let issuedTotalEtcStock: String
|
||||||
/// 공모방법(신주발행 (주))
|
/// 공모방법(신주발행 (주))
|
||||||
|
public let publicOfferingMethod_IssuedNewStock: String
|
||||||
/// 공모방법(구주매출 (주))
|
/// 공모방법(구주매출 (주))
|
||||||
|
public let publicOfferingMethod_OldStockSales: String
|
||||||
/// 자금조달(신주발행) 목적
|
/// 자금조달(신주발행) 목적
|
||||||
|
public let financingPurpose_IssuedNewStock: String
|
||||||
/// 상장증권(원주상장 (주))
|
/// 상장증권(원주상장 (주))
|
||||||
|
public let listingStock_OriginalListing: String
|
||||||
/// 상장증권(DR상장 (주))
|
/// 상장증권(DR상장 (주))
|
||||||
|
public let listingStock_DRListing: String
|
||||||
/// 상장거래소(소재국가)
|
/// 상장거래소(소재국가)
|
||||||
|
public let listingExchangeNation: String
|
||||||
/// 해외상장목적
|
/// 해외상장목적
|
||||||
public let listingPurpose: String
|
public let listingPurpose: String
|
||||||
/// 상장예정일자
|
/// 상장예정일자
|
||||||
@@ -1227,18 +1236,17 @@ extension DomesticDart {
|
|||||||
case receiptNo = "rcept_no"
|
case receiptNo = "rcept_no"
|
||||||
case marketType = "corp_cls"
|
case marketType = "corp_cls"
|
||||||
case corporationCode = "corp_code"
|
case corporationCode = "corp_code"
|
||||||
case corporationName = "corp_name"
|
case corporationName = "corp_name"
|
||||||
|
case listingCommonStockQuantity = "lstprstk_ostk_cnt"
|
||||||
case = "lstprstk_ostk_cnt"
|
case listingEtcStockQuantity = "lstprstk_estk_cnt"
|
||||||
case = "lstprstk_estk_cnt"
|
case issuedTotalCommonStock = "tisstk_ostk"
|
||||||
case = "tisstk_ostk"
|
case issuedTotalEtcStock = "tisstk_estk"
|
||||||
case = "tisstk_estk"
|
case publicOfferingMethod_IssuedNewStock = "psmth_nstk_sl"
|
||||||
case = "psmth_nstk_sl"
|
case publicOfferingMethod_OldStockSales = "psmth_ostk_sl"
|
||||||
case = "psmth_ostk_sl"
|
case financingPurpose_IssuedNewStock = "fdpp"
|
||||||
case = "fdpp"
|
case listingStock_OriginalListing = "lststk_orlst"
|
||||||
case = "lststk_orlst"
|
case listingStock_DRListing = "lststk_drlst"
|
||||||
case = "lststk_drlst"
|
case listingExchangeNation = "lstex_nt"
|
||||||
case = "lstex_nt"
|
|
||||||
case listingPurpose = "lstpp"
|
case listingPurpose = "lstpp"
|
||||||
case listingScheduleDate = "lstprd"
|
case listingScheduleDate = "lstprd"
|
||||||
case directorateDecisionDate = "bddd"
|
case directorateDecisionDate = "bddd"
|
||||||
|
|||||||
@@ -12,22 +12,112 @@ extension DomesticDart {
|
|||||||
|
|
||||||
/// 증권신고서 주요정보 - 1 주식의포괄적교환·이전
|
/// 증권신고서 주요정보 - 1 주식의포괄적교환·이전
|
||||||
///
|
///
|
||||||
public struct A: DartRequest {
|
public struct StockExchangeTransferReqeust: DartRequest {
|
||||||
|
public typealias KResult = StockExchangeTransferResult
|
||||||
|
|
||||||
|
public var url: String {
|
||||||
|
"/api/extrRs.json"
|
||||||
|
}
|
||||||
|
public var method: Method { .get }
|
||||||
|
public var header: [String : String?] {
|
||||||
|
[:]
|
||||||
|
}
|
||||||
|
public var body: [String: Any] {
|
||||||
|
return [
|
||||||
|
"crtfc_key": openApiKey,
|
||||||
|
"corp_code": corporationCode,
|
||||||
|
"bgn_de": startDate.yyyyMMdd,
|
||||||
|
"end_de": endDate.yyyyMMdd
|
||||||
|
]
|
||||||
|
}
|
||||||
|
public var result: KResult? = nil
|
||||||
|
|
||||||
|
|
||||||
|
public let openApiKey: String
|
||||||
|
let corporationCode: String
|
||||||
|
let startDate: Date
|
||||||
|
let endDate: Date
|
||||||
|
|
||||||
|
public init(openApiKey: String, corporationCode: String, startDate: Date, endDate: Date) {
|
||||||
|
self.openApiKey = openApiKey
|
||||||
|
self.corporationCode = corporationCode
|
||||||
|
self.startDate = startDate
|
||||||
|
self.endDate = endDate
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// 증권신고서 주요정보 - 2 합병
|
/// 증권신고서 주요정보 - 2 합병
|
||||||
///
|
///
|
||||||
public struct A: DartRequest {
|
public struct MergerRequest: DartRequest {
|
||||||
|
public typealias KResult = MergerResult
|
||||||
|
|
||||||
|
public var url: String {
|
||||||
|
"/api/mgRs.json"
|
||||||
|
}
|
||||||
|
public var method: Method { .get }
|
||||||
|
public var header: [String : String?] {
|
||||||
|
[:]
|
||||||
|
}
|
||||||
|
public var body: [String: Any] {
|
||||||
|
return [
|
||||||
|
"crtfc_key": openApiKey,
|
||||||
|
"corp_code": corporationCode,
|
||||||
|
"bgn_de": startDate.yyyyMMdd,
|
||||||
|
"end_de": endDate.yyyyMMdd
|
||||||
|
]
|
||||||
|
}
|
||||||
|
public var result: KResult? = nil
|
||||||
|
|
||||||
|
|
||||||
|
public let openApiKey: String
|
||||||
|
let corporationCode: String
|
||||||
|
let startDate: Date
|
||||||
|
let endDate: Date
|
||||||
|
|
||||||
|
public init(openApiKey: String, corporationCode: String, startDate: Date, endDate: Date) {
|
||||||
|
self.openApiKey = openApiKey
|
||||||
|
self.corporationCode = corporationCode
|
||||||
|
self.startDate = startDate
|
||||||
|
self.endDate = endDate
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// 증권신고서 주요정보 - 3 증권예탁증권
|
/// 증권신고서 주요정보 - 3 증권예탁증권
|
||||||
///
|
///
|
||||||
public struct A: DartRequest {
|
public struct EntrustedSecurityRequest: DartRequest {
|
||||||
|
public typealias KResult = EntrustedSecurityResult
|
||||||
|
|
||||||
|
public var url: String {
|
||||||
|
"/api/stkdpRs.json"
|
||||||
|
}
|
||||||
|
public var method: Method { .get }
|
||||||
|
public var header: [String : String?] {
|
||||||
|
[:]
|
||||||
|
}
|
||||||
|
public var body: [String: Any] {
|
||||||
|
return [
|
||||||
|
"crtfc_key": openApiKey,
|
||||||
|
"corp_code": corporationCode,
|
||||||
|
"bgn_de": startDate.yyyyMMdd,
|
||||||
|
"end_de": endDate.yyyyMMdd
|
||||||
|
]
|
||||||
|
}
|
||||||
|
public var result: KResult? = nil
|
||||||
|
|
||||||
|
|
||||||
|
public let openApiKey: String
|
||||||
|
let corporationCode: String
|
||||||
|
let startDate: Date
|
||||||
|
let endDate: Date
|
||||||
|
|
||||||
|
public init(openApiKey: String, corporationCode: String, startDate: Date, endDate: Date) {
|
||||||
|
self.openApiKey = openApiKey
|
||||||
|
self.corporationCode = corporationCode
|
||||||
|
self.startDate = startDate
|
||||||
|
self.endDate = endDate
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -145,102 +235,177 @@ extension DomesticDart {
|
|||||||
|
|
||||||
extension DomesticDart {
|
extension DomesticDart {
|
||||||
|
|
||||||
public struct DebtSecurityResult: Codable {
|
public struct StockExchangeTransferResult: Codable {
|
||||||
public let result: Result
|
public let status: String
|
||||||
|
public let message: String
|
||||||
|
public let group: [Group]
|
||||||
|
|
||||||
public struct Result: Codable {
|
private enum CodingKeys: String, CodingKey {
|
||||||
public let status: String
|
case status
|
||||||
public let message: String
|
case message
|
||||||
public let group: [Group]
|
case group
|
||||||
|
|
||||||
private enum CodingKeys: String, CodingKey {
|
|
||||||
case status
|
|
||||||
case message
|
|
||||||
case group
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Group: Codable {
|
public struct Group: Codable {
|
||||||
public let title: String
|
public let title: String
|
||||||
public let list: Item
|
public let list: SecuritiesReportItem
|
||||||
|
|
||||||
public init(from decoder: Decoder) throws {
|
public init(from decoder: Decoder) throws {
|
||||||
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
self.title = try container.decode(String.self, forKey: CodingKeys.title)
|
self.title = try container.decode(String.self, forKey: CodingKeys.title)
|
||||||
switch title {
|
switch title {
|
||||||
case "일반사항": ()
|
case "일반사항":
|
||||||
case "인수인정보": ()
|
let items = try container.decode([General1Item].self, forKey: Group.CodingKeys.list)
|
||||||
case "자금의사용목적": ()
|
self.list = .general1(items)
|
||||||
case "매출인에관한사항": ()
|
case "발행증권":
|
||||||
|
let items = try container.decode([StockItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .issuedStock(items)
|
||||||
|
case "당사회사에관한사항":
|
||||||
|
let items = try container.decode([OurCompanyItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .ourCompany(items)
|
||||||
default:
|
default:
|
||||||
assertionFailure("Unknown title \(title)")
|
assertionFailure("Unknown title \(title)")
|
||||||
|
self.list = .general([])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public struct MergerResult: Codable {
|
||||||
|
public let status: String
|
||||||
|
public let message: String
|
||||||
|
public let group: [Group]
|
||||||
|
|
||||||
public enum Item: Codable {
|
private enum CodingKeys: String, CodingKey {
|
||||||
/// 일반사항
|
case status
|
||||||
case general([GeneralItem])
|
case message
|
||||||
/// 인수인정보
|
case group
|
||||||
case surety([SuretyItem])
|
|
||||||
/// 자금의사용목적
|
|
||||||
case capitalUsePurpose([PurposeItem])
|
|
||||||
/// 매출인에관한사항
|
|
||||||
case salesperson([SalesPersonItem])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct GeneralItem: Codable {
|
public struct Group: Codable {
|
||||||
/// 접수번호
|
public let title: String
|
||||||
public let receiptNo: String
|
public let list: SecuritiesReportItem
|
||||||
/// 법인구분
|
|
||||||
public let marketType: MarketType
|
|
||||||
/// 고유번호
|
|
||||||
public let corporationCode: String
|
|
||||||
/// 회사명
|
|
||||||
public let corporationName: String
|
|
||||||
/// 청약기일
|
|
||||||
/// 납입기일
|
|
||||||
/// 청약공고일
|
|
||||||
/// 배정공고일
|
|
||||||
/// 배정기준일
|
|
||||||
/// 신주인수권에 관한 사항(행사대상증권)
|
|
||||||
/// 신주인수권에 관한 사항(행사가격)
|
|
||||||
/// 신주인수권에 관한 사항(행사기간)
|
|
||||||
/// 주요사항보고서(접수번호)
|
|
||||||
}
|
|
||||||
|
|
||||||
public struct SuretyItem: Codable {
|
|
||||||
|
|
||||||
|
public init(from decoder: Decoder) throws {
|
||||||
|
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
|
self.title = try container.decode(String.self, forKey: CodingKeys.title)
|
||||||
|
switch title {
|
||||||
|
case "일반사항":
|
||||||
|
let items = try container.decode([GeneralItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .general(items)
|
||||||
|
case "발행증권":
|
||||||
|
let items = try container.decode([StockItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .issuedStock(items)
|
||||||
|
case "당사회사에관한사항":
|
||||||
|
let items = try container.decode([OurCompanyItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .ourCompany(items)
|
||||||
|
default:
|
||||||
|
assertionFailure("Unknown title \(title)")
|
||||||
|
self.list = .general([])
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public struct PurposeItem: Codable {
|
|
||||||
|
|
||||||
|
public struct EntrustedSecurityResult: Codable {
|
||||||
|
public let status: String
|
||||||
|
public let message: String
|
||||||
|
public let group: [Group]
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case status
|
||||||
|
case message
|
||||||
|
case group
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct SalesPersonItem: Codable {
|
public struct Group: Codable {
|
||||||
|
public let title: String
|
||||||
|
public let list: SecuritiesReportItem
|
||||||
|
|
||||||
|
public init(from decoder: Decoder) throws {
|
||||||
|
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
|
self.title = try container.decode(String.self, forKey: CodingKeys.title)
|
||||||
|
switch title {
|
||||||
|
case "일반사항":
|
||||||
|
let items = try container.decode([GeneralItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .general(items)
|
||||||
|
case "증권의종류":
|
||||||
|
let items = try container.decode([StockKindItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .stockKind(items)
|
||||||
|
case "인수인정보":
|
||||||
|
let items = try container.decode([SuretyItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .surety(items)
|
||||||
|
case "자금의사용목적":
|
||||||
|
let items = try container.decode([PurposeItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .capitalUsePurpose(items)
|
||||||
|
case "매출인에관한사항":
|
||||||
|
let items = try container.decode([SalesPersonItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .salesperson(items)
|
||||||
|
default:
|
||||||
|
assertionFailure("Unknown title \(title)")
|
||||||
|
self.list = .general([])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public struct DebtSecurityResult: Codable {
|
||||||
|
public let status: String
|
||||||
|
public let message: String
|
||||||
|
public let group: [Group]
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case status
|
||||||
|
case message
|
||||||
|
case group
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct Group: Codable {
|
||||||
|
public let title: String
|
||||||
|
public let list: SecuritiesReportItem
|
||||||
|
|
||||||
|
public init(from decoder: Decoder) throws {
|
||||||
|
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
|
self.title = try container.decode(String.self, forKey: CodingKeys.title)
|
||||||
|
switch title {
|
||||||
|
case "일반사항":
|
||||||
|
let items = try container.decode([GeneralItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .general(items)
|
||||||
|
case "인수인정보":
|
||||||
|
let items = try container.decode([SuretyItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .surety(items)
|
||||||
|
case "자금의사용목적":
|
||||||
|
let items = try container.decode([PurposeItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .capitalUsePurpose(items)
|
||||||
|
case "매출인에관한사항":
|
||||||
|
let items = try container.decode([SalesPersonItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .salesperson(items)
|
||||||
|
default:
|
||||||
|
assertionFailure("Unknown title \(title)")
|
||||||
|
self.list = .general([])
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public struct EquitySecurityResult: Codable {
|
public struct EquitySecurityResult: Codable {
|
||||||
public let result: Result
|
public let status: String
|
||||||
|
public let message: String
|
||||||
|
public let group: [Group]
|
||||||
|
|
||||||
public struct Result: Codable {
|
private enum CodingKeys: String, CodingKey {
|
||||||
public let status: String
|
case status
|
||||||
public let message: String
|
case message
|
||||||
public let group: [Group]
|
case group
|
||||||
|
|
||||||
private enum CodingKeys: String, CodingKey {
|
|
||||||
case status
|
|
||||||
case message
|
|
||||||
case group
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Group: Codable {
|
public struct Group: Codable {
|
||||||
public let title: String
|
public let title: String
|
||||||
public let list: Item
|
public let list: SecuritiesReportItem
|
||||||
|
|
||||||
public init(from decoder: Decoder) throws {
|
public init(from decoder: Decoder) throws {
|
||||||
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
@@ -266,99 +431,399 @@ extension DomesticDart {
|
|||||||
self.list = .redemptionClaim(items)
|
self.list = .redemptionClaim(items)
|
||||||
default:
|
default:
|
||||||
assertionFailure("Unknown title \(title)")
|
assertionFailure("Unknown title \(title)")
|
||||||
|
self.list = .general([])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Item: Codable {
|
|
||||||
/// 일반사항
|
|
||||||
case general([GeneralItem])
|
|
||||||
/// 증권의종류
|
|
||||||
case stockKind([StockKindItem])
|
|
||||||
/// 인수인정보
|
|
||||||
case surety([SuretyItem])
|
|
||||||
/// 자금의사용목적
|
|
||||||
case capitalUsePurpose([PurposeItem])
|
|
||||||
/// 매출인에관한사항
|
|
||||||
case salesperson([SalesPersonItem])
|
|
||||||
/// 일반청약자환매청구권
|
|
||||||
case redemptionClaim([ClaimItem])
|
|
||||||
}
|
|
||||||
|
|
||||||
public struct GeneralItem: Codable {
|
|
||||||
/// 접수번호
|
|
||||||
public let receiptNo: String
|
|
||||||
/// 법인구분
|
|
||||||
public let marketType: MarketType
|
|
||||||
/// 고유번호
|
|
||||||
public let corporationCode: String
|
|
||||||
/// 회사명
|
|
||||||
public let corporationName: String
|
|
||||||
/// 청약기일
|
|
||||||
/// 납입기일
|
|
||||||
/// 청약공고일
|
|
||||||
/// 배정공고일
|
|
||||||
/// 배정기준일
|
|
||||||
/// 신주인수권에 관한 사항(행사대상증권)
|
|
||||||
/// 신주인수권에 관한 사항(행사가격)
|
|
||||||
/// 신주인수권에 관한 사항(행사기간)
|
|
||||||
/// 주요사항보고서(접수번호)
|
|
||||||
}
|
|
||||||
|
|
||||||
public struct StockKindItem: Codable {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public struct SuretyItem: Codable {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public struct PurposeItem: Codable {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public struct SalesPersonItem: Codable {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public struct ClaimItem: Codable {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public struct DivisionResult: Codable {
|
public struct DivisionResult: Codable {
|
||||||
public let result: Result
|
public let status: String
|
||||||
|
public let message: String
|
||||||
|
public let list: [Group]
|
||||||
|
|
||||||
public struct Result: Codable {
|
private enum CodingKeys: String, CodingKey {
|
||||||
public let status: String
|
case status
|
||||||
public let message: String
|
case message
|
||||||
public let list: [Item]
|
case list
|
||||||
|
|
||||||
private enum CodingKeys: String, CodingKey {
|
|
||||||
case status
|
|
||||||
case message
|
|
||||||
case list
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Item: Codable {
|
public struct Group: Codable {
|
||||||
/// 접수번호
|
public let title: String
|
||||||
public let receiptNo: String
|
public let list: SecuritiesReportItem
|
||||||
/// 법인구분
|
|
||||||
public let marketType: MarketType
|
|
||||||
/// 고유번호
|
|
||||||
public let corporationCode: String
|
|
||||||
/// 회사명
|
|
||||||
public let corporationName: String
|
|
||||||
|
|
||||||
|
public init(from decoder: Decoder) throws {
|
||||||
private enum CodingKeys: String, CodingKey {
|
let container: KeyedDecodingContainer<CodingKeys> = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
case receiptNo = "rcept_no"
|
self.title = try container.decode(String.self, forKey: CodingKeys.title)
|
||||||
case marketType = "corp_cls"
|
switch title {
|
||||||
case corporationCode = "corp_code"
|
case "일반사항":
|
||||||
case corporationName = "corp_name"
|
let items = try container.decode([GeneralItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .general(items)
|
||||||
|
case "발행증권":
|
||||||
|
let items = try container.decode([StockItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .issuedStock(items)
|
||||||
|
case "당사회사에관한사항":
|
||||||
|
let items = try container.decode([OurCompanyItem].self, forKey: Group.CodingKeys.list)
|
||||||
|
self.list = .ourCompany(items)
|
||||||
|
default:
|
||||||
|
assertionFailure("Unknown title \(title)")
|
||||||
|
self.list = .general([])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extension DomesticDart {
|
||||||
|
// MARK: Common items
|
||||||
|
|
||||||
|
public enum SecuritiesReportItem: Codable {
|
||||||
|
/// 일반사항1
|
||||||
|
case general1([General1Item])
|
||||||
|
/// 일반사항2
|
||||||
|
case general2
|
||||||
|
/// 증권의종류
|
||||||
|
case stockKind([StockKindItem])
|
||||||
|
/// 인수인정보
|
||||||
|
case surety([SuretyItem])
|
||||||
|
/// 자금의사용목적
|
||||||
|
case capitalUsePurpose([PurposeItem])
|
||||||
|
/// 매출인에관한사항
|
||||||
|
case salesperson([SalesPersonItem])
|
||||||
|
/// 일반청약자환매청구권
|
||||||
|
case redemptionClaim([ClaimItem])
|
||||||
|
/// 발행증권
|
||||||
|
case issuedStock([StockItem])
|
||||||
|
/// 당사회사에관한사항
|
||||||
|
case ourCompany([OurCompanyItem])
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct General1Item: Codable {
|
||||||
|
/// 접수번호
|
||||||
|
public let receiptNo: String
|
||||||
|
/// 법인구분
|
||||||
|
public let marketType: MarketType
|
||||||
|
/// 고유번호
|
||||||
|
public let corporationCode: String
|
||||||
|
/// 회사명
|
||||||
|
public let corporationName: String
|
||||||
|
/// 형태
|
||||||
|
public let form: String
|
||||||
|
/// 이사회 결의일
|
||||||
|
public let directorateDecisionDate: String
|
||||||
|
/// 계약일
|
||||||
|
public let contractDate: String
|
||||||
|
/// 주주총회를 위한 주주확정일
|
||||||
|
/// 승인을 위한 주주총회일
|
||||||
|
/// 주식매수청구권 행사 기간 및 가격(시작일)
|
||||||
|
/// 주식매수청구권 행사 기간 및 가격(종료일)
|
||||||
|
/// 주식매수청구권 행사 기간 및 가격((주식매수청구가격-회사제시))
|
||||||
|
/// 합병기일등
|
||||||
|
/// 비율 또는 가액
|
||||||
|
/// 외부평가기관
|
||||||
|
/// 지급 교부금 등
|
||||||
|
/// 주요사항보고서(접수번호)
|
||||||
|
public let reportReceiptNo: String
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case receiptNo = "rcept_no"
|
||||||
|
case marketType = "corp_cls"
|
||||||
|
case corporationCode = "corp_code"
|
||||||
|
case corporationName = "corp_name"
|
||||||
|
case form = "stn"
|
||||||
|
case directorateDecisionDate = "bddd"
|
||||||
|
case contractDate = "ctrd"
|
||||||
|
case = "gmtsck_shddstd"
|
||||||
|
case = "ap_gmtsck"
|
||||||
|
case = "aprskh_pd_bgd"
|
||||||
|
case = "aprskh_pd_edd"
|
||||||
|
case = "aprskh_prc"
|
||||||
|
case = "mgdt_etc"
|
||||||
|
case = "rt_vl"
|
||||||
|
case = "exevl_int"
|
||||||
|
case = "grtmn_etc"
|
||||||
|
case reportReceiptNo = "rpt_rcpn"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct GeneralItem: Codable {
|
||||||
|
/// 접수번호
|
||||||
|
public let receiptNo: String
|
||||||
|
/// 법인구분
|
||||||
|
public let marketType: MarketType
|
||||||
|
/// 고유번호
|
||||||
|
public let corporationCode: String
|
||||||
|
/// 회사명
|
||||||
|
public let corporationName: String
|
||||||
|
/// 청약기일
|
||||||
|
public let subscriptionDate: String
|
||||||
|
/// 납입기일
|
||||||
|
public let paymentDate: String
|
||||||
|
/// 청약공고일
|
||||||
|
public let subscriptionAnnouncementDate: String
|
||||||
|
/// 배정공고일
|
||||||
|
public let assignmentAnnouncementDate: String
|
||||||
|
/// 배정기준일
|
||||||
|
public let assignmentBaseDate: String
|
||||||
|
/// 신주인수권에 관한 사항(행사대상증권)
|
||||||
|
public let exerciseStock: String
|
||||||
|
/// 신주인수권에 관한 사항(행사가격)
|
||||||
|
public let exercisePrice: String
|
||||||
|
/// 신주인수권에 관한 사항(행사기간)
|
||||||
|
public let exercisePeriod: String
|
||||||
|
/// 주요사항보고서(접수번호)
|
||||||
|
public let reportReceiptNo: String
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case receiptNo = "rcept_no"
|
||||||
|
case marketType = "corp_cls"
|
||||||
|
case corporationCode = "corp_code"
|
||||||
|
case corporationName = "corp_name"
|
||||||
|
case subscriptionDate = "sbd"
|
||||||
|
case paymentDate = "pymd"
|
||||||
|
case subscriptionAnnouncementDate = "sband"
|
||||||
|
case assignmentAnnouncementDate = "asand"
|
||||||
|
case assignmentBaseDate = "asstd"
|
||||||
|
case exerciseStock = "exstk"
|
||||||
|
case exercisePrice = "exprc"
|
||||||
|
case exercisePeriod = "expd"
|
||||||
|
case reportReceiptNo = "rpt_rcpn"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct StockKindItem: Codable {
|
||||||
|
/// 접수번호
|
||||||
|
public let receiptNo: String
|
||||||
|
/// 법인구분
|
||||||
|
public let marketType: MarketType
|
||||||
|
/// 고유번호
|
||||||
|
public let corporationCode: String
|
||||||
|
/// 회사명
|
||||||
|
public let corporationName: String
|
||||||
|
/// 증권의종류
|
||||||
|
public let stockKind: String
|
||||||
|
/// 증권수량
|
||||||
|
public let stockQuantity: String
|
||||||
|
/// 액면가액
|
||||||
|
public let stockFacePrice: String
|
||||||
|
/// 모집(매출)가액
|
||||||
|
public let salesPrice: String
|
||||||
|
/// 모집(매출)총액
|
||||||
|
public let salesTotalAmount: String
|
||||||
|
/// 모집(매출)방법
|
||||||
|
public let salesMethod: String
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case receiptNo = "rcept_no"
|
||||||
|
case marketType = "corp_cls"
|
||||||
|
case corporationCode = "corp_code"
|
||||||
|
case corporationName = "corp_name"
|
||||||
|
case stockKind = "stksen"
|
||||||
|
case stockQuantity = "stkcnt"
|
||||||
|
case stockFacePrice = "fv"
|
||||||
|
case salesPrice = "slprc"
|
||||||
|
case salesTotalAmount = "slta"
|
||||||
|
case salesMethod = "slmthn"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct SuretyItem: Codable {
|
||||||
|
/// 접수번호
|
||||||
|
public let receiptNo: String
|
||||||
|
/// 법인구분
|
||||||
|
public let marketType: MarketType
|
||||||
|
/// 고유번호
|
||||||
|
public let corporationCode: String
|
||||||
|
/// 회사명
|
||||||
|
public let corporationName: String
|
||||||
|
/// 인수인구분
|
||||||
|
public let suretySeperation: String
|
||||||
|
/// 인수인명
|
||||||
|
public let suretyName: String
|
||||||
|
/// 증권의종류
|
||||||
|
public let stockKind: String
|
||||||
|
/// 인수수량
|
||||||
|
public let takeOverQuantity: String
|
||||||
|
/// 인수금액
|
||||||
|
public let takeOverAmount: String
|
||||||
|
/// 인수대가
|
||||||
|
public let takeOverPrice: String
|
||||||
|
/// 인수방법
|
||||||
|
public let takeOverMethod: String
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case receiptNo = "rcept_no"
|
||||||
|
case marketType = "corp_cls"
|
||||||
|
case corporationCode = "corp_code"
|
||||||
|
case corporationName = "corp_name"
|
||||||
|
case suretySeperation = "actsen"
|
||||||
|
case suretyName = "actnmn"
|
||||||
|
case stockKind = "stksen"
|
||||||
|
case takeOverQuantity = "udtcnt"
|
||||||
|
case takeOverAmount = "udtamt"
|
||||||
|
case takeOverPrice = "udtprc"
|
||||||
|
case takeOverMethod = "udtmth"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct PurposeItem: Codable {
|
||||||
|
/// 접수번호
|
||||||
|
public let receiptNo: String
|
||||||
|
/// 법인구분
|
||||||
|
public let marketType: MarketType
|
||||||
|
/// 고유번호
|
||||||
|
public let corporationCode: String
|
||||||
|
/// 회사명
|
||||||
|
public let corporationName: String
|
||||||
|
/// 구분
|
||||||
|
public let seperation: String
|
||||||
|
/// 금액
|
||||||
|
public let amount: String
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case receiptNo = "rcept_no"
|
||||||
|
case marketType = "corp_cls"
|
||||||
|
case corporationCode = "corp_code"
|
||||||
|
case corporationName = "corp_name"
|
||||||
|
case seperation = "se"
|
||||||
|
case amount = "amt"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct SalesPersonItem: Codable {
|
||||||
|
/// 접수번호
|
||||||
|
public let receiptNo: String
|
||||||
|
/// 법인구분
|
||||||
|
public let marketType: MarketType
|
||||||
|
/// 고유번호
|
||||||
|
public let corporationCode: String
|
||||||
|
/// 회사명
|
||||||
|
public let corporationName: String
|
||||||
|
/// 보유자
|
||||||
|
public let holder: String
|
||||||
|
/// 회사와의관계
|
||||||
|
public let relationCompany: String
|
||||||
|
/// 매출전보유증권수
|
||||||
|
public let beforeSalesOwnStock: String
|
||||||
|
/// 매출증권수
|
||||||
|
public let salesStock: String
|
||||||
|
/// 매출후보유증권수
|
||||||
|
public let afterSalesOwnStock: String
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case receiptNo = "rcept_no"
|
||||||
|
case marketType = "corp_cls"
|
||||||
|
case corporationCode = "corp_code"
|
||||||
|
case corporationName = "corp_name"
|
||||||
|
case holder = "hdr"
|
||||||
|
case relationCompany = "rl_cmp"
|
||||||
|
case beforeSalesOwnStock = "bfsl_hdstk"
|
||||||
|
case salesStock = "slstk"
|
||||||
|
case afterSalesOwnStock = "atsl_hdstk"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct StockItem: Codable {
|
||||||
|
/// 접수번호
|
||||||
|
public let receiptNo: String
|
||||||
|
/// 법인구분
|
||||||
|
public let marketType: MarketType
|
||||||
|
/// 고유번호
|
||||||
|
public let corporationCode: String
|
||||||
|
/// 회사명
|
||||||
|
public let corporationName: String
|
||||||
|
/// 종류
|
||||||
|
public let kind: String
|
||||||
|
/// 수량
|
||||||
|
public let quantity: String
|
||||||
|
/// 액면가액
|
||||||
|
public let stockFacePrice: String
|
||||||
|
/// 모집(매출)가액
|
||||||
|
public let salesPrice: String
|
||||||
|
/// 모집(매출)총액
|
||||||
|
public let salesTotalAmount: String
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case receiptNo = "rcept_no"
|
||||||
|
case marketType = "corp_cls"
|
||||||
|
case corporationCode = "corp_code"
|
||||||
|
case corporationName = "corp_name"
|
||||||
|
case kind = "kndn"
|
||||||
|
case quantity = "cnt"
|
||||||
|
case stockFacePrice = "fv"
|
||||||
|
case salesPrice = "slprc"
|
||||||
|
case salesTotalAmount = "slta"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct ClaimItem: Codable {
|
||||||
|
/// 접수번호
|
||||||
|
public let receiptNo: String
|
||||||
|
/// 법인구분
|
||||||
|
public let marketType: MarketType
|
||||||
|
/// 고유번호
|
||||||
|
public let corporationCode: String
|
||||||
|
/// 회사명
|
||||||
|
public let corporationName: String
|
||||||
|
/// 부여사유
|
||||||
|
public let grantReason: String
|
||||||
|
/// 행사가능 투자자
|
||||||
|
public let exerciseAvailableInvestor: String
|
||||||
|
/// 부여수량
|
||||||
|
public let grantQuantity: String
|
||||||
|
/// 행사기간
|
||||||
|
public let exercisePeriod: String
|
||||||
|
/// 행사가격
|
||||||
|
public let exercisePrice: String
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case receiptNo = "rcept_no"
|
||||||
|
case marketType = "corp_cls"
|
||||||
|
case corporationCode = "corp_code"
|
||||||
|
case corporationName = "corp_name"
|
||||||
|
case grantReason = "grtrs"
|
||||||
|
case exerciseAvailableInvestor = "exavivr"
|
||||||
|
case grantQuantity = "grtcnt"
|
||||||
|
case exercisePeriod = "expd"
|
||||||
|
case exercisePrice = "exprc"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct OurCompanyItem: Codable {
|
||||||
|
/// 접수번호
|
||||||
|
public let receiptNo: String
|
||||||
|
/// 법인구분
|
||||||
|
public let marketType: MarketType
|
||||||
|
/// 고유번호
|
||||||
|
public let corporationCode: String
|
||||||
|
/// 회사명
|
||||||
|
public let corporationName: String
|
||||||
|
/// 회사명
|
||||||
|
public let companyName: String
|
||||||
|
/// 구분
|
||||||
|
public let seperation: String
|
||||||
|
/// 총자산
|
||||||
|
public let totalAssets: String
|
||||||
|
/// 자본금
|
||||||
|
public let capital: String
|
||||||
|
/// 발행주식수(주식의종류)
|
||||||
|
public let issuedStockKind: String
|
||||||
|
/// 발행주식수(주식수)
|
||||||
|
public let issuedStockQuantity: String
|
||||||
|
|
||||||
|
private enum CodingKeys: String, CodingKey {
|
||||||
|
case receiptNo = "rcept_no"
|
||||||
|
case marketType = "corp_cls"
|
||||||
|
case corporationCode = "corp_code"
|
||||||
|
case corporationName = "corp_name"
|
||||||
|
case companyName = "cmpnm"
|
||||||
|
case seperation = "sen"
|
||||||
|
case totalAssets = "tast"
|
||||||
|
case capital = "cpt"
|
||||||
|
case issuedStockKind = "isstk_knd"
|
||||||
|
case issuedStockQuantity = "isstk_cnt"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
1
KissMe/Tests/JSON/DebtSecurityResult.json
Normal file
1
KissMe/Tests/JSON/DebtSecurityResult.json
Normal file
File diff suppressed because one or more lines are too long
1
KissMe/Tests/JSON/DivisionResult.json
Normal file
1
KissMe/Tests/JSON/DivisionResult.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"status":"000","message":"정상","group":[{"title":"일반사항","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","sbd":"2019년 04월 03일","pymd":"2019년 04월 03일","sband":"-","asand":"-","asstd":"-","exstk":"-","exprc":"-","expd":"-","rpt_rcpn":"20190307000677"}]},{"title":"증권의종류","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","stksen":"기명식보통주","stkcnt":"2,960,601","fv":"5,000","slprc":"5,000","slta":"14,803,005,000","slmthn":"제3자배정"}]},{"title":"인수인정보","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","stksen":"-","actsen":"-","actnmn":"-","udtcnt":"-","udtamt":"-","udtprc":"-","udtmth":"-"}]},{"title":"자금의사용목적","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","se":"재무구조 개선을 위한 제3자배정 유상증자","amt":"14,803,005,000"},{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","se":"발행제비용","amt":"13,748,623"}]},{"title":"매출인에관한사항","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","hdr":"-","rl_cmp":"-","bfsl_hdstk":"-","slstk":"-","atsl_hdstk":"-"}]},{"title":"일반청약자환매청구권","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","exprc":"-","expd":"-","grtrs":"-","exavivr":"-","grtcnt":"-"}]}]}
|
||||||
1
KissMe/Tests/JSON/EntrustedSecurityResult.json
Normal file
1
KissMe/Tests/JSON/EntrustedSecurityResult.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"status":"000","message":"정상","group":[{"title":"일반사항","list":[{"rcept_no":"20190411002251","corp_cls":"E","corp_code":"01338724","corp_name":"에스앤케이","sbd":"2019년 04월 23일 ~ 2019년 04월 24일","pymd":"2019년 04월 26일","sband":"2019년 04월 23일","asand":"2019년 04월 26일","asstd":"-","exstk":"-","exprc":"-","expd":"-","rpt_rcpn":"-"}]},{"title":"증권의종류","list":[{"rcept_no":"20190411002251","corp_cls":"E","corp_code":"01338724","corp_name":"에스앤케이","stksen":"-","stkcnt":"4,200,000","fv":"-","slprc":"30,800","slta":"129,360,000,000","slmthn":"일반공모"}]},{"title":"인수인정보","list":[{"rcept_no":"20190411002251","corp_cls":"E","corp_code":"01338724","corp_name":"에스앤케이","stksen":"-","actsen":"대표","actnmn":"NH투자증권","udtcnt":"3,780,000","udtamt":"116,424,000,000","udtprc":"1,186,720,920","udtmth":"총액인수"},{"rcept_no":"20190411002251","corp_cls":"E","corp_code":"01338724","corp_name":"에스앤케이","stksen":"-","actsen":"공동","actnmn":"미래에셋대우","udtcnt":"420,000","udtamt":"12,936,000,000","udtprc":"131,857,880","udtmth":"총액인수"}]},{"title":"자금의사용목적","list":[{"rcept_no":"20190411002251","corp_cls":"E","corp_code":"01338724","corp_name":"에스앤케이","se":"콘텐츠 개발자금","amt":"55,000,000,000"},{"rcept_no":"20190411002251","corp_cls":"E","corp_code":"01338724","corp_name":"에스앤케이","se":"게임 운영 및 마케팅","amt":"8,000,000,000"},{"rcept_no":"20190411002251","corp_cls":"E","corp_code":"01338724","corp_name":"에스앤케이","se":"투자자금","amt":"65,370,601,200"},{"rcept_no":"20190411002251","corp_cls":"E","corp_code":"01338724","corp_name":"에스앤케이","se":"발행제비용","amt":"3,487,278,800"}]},{"title":"매출인에관한사항","list":[{"rcept_no":"20190411002251","corp_cls":"E","corp_code":"01338724","corp_name":"에스앤케이","hdr":"-","rl_cmp":"-","bfsl_hdstk":"-","slstk":"-","atsl_hdstk":"-"}]}]}
|
||||||
1
KissMe/Tests/JSON/MergerResult.json
Normal file
1
KissMe/Tests/JSON/MergerResult.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"status":"000","message":"정상","group":[{"title":"일반사항","list":[{"rcept_no":"20190402002153","corp_cls":"Y","corp_code":"00109718","corp_name":"사조대림","rpt_rcpn":"20190123000252","stn":"흡수합병","bddd":"2019년 01월 18일","ctrd":"2019년 01월 18일","gmtsck_shddstd":"2019년 03월 07일","ap_gmtsck":"2019년 04월 29일","aprskh_pd_bgd":"2019년 04월 29일","aprskh_pd_edd":"2019년 05월 20일","aprskh_prc":"(주)사조대림 : 보통주 23,728원 / 우선주 23,728원\n(주)사조해표 : 보통주 10,457원","mgdt_etc":"2019년 03월 08일 ~ 2019년 03월 12일\n2019년 04월 12일\n2019년 04월 12일 ~ 2019년 04월 26일\n2019년 04월 30일\n2019년 04월 30일\n2019년 04월 30일 ~ 2019년 05월 31일\n2019년 04월 30일 ~ 2019년 05월 31일\n2019년 06월 01일\n2019년 06월 03일\n2019년 06월 03일\n2019년 06월 03일\n2019년 06월 25일\n2019년 06월 26일","rt_vl":"(주)사조대림 보통주 : (주)사조해표 보통주 = 1 : \n0.4475518","exevl_int":"해당사항 없습니다.\n(합병 당사법인인 주식회사 사조대림과 주식회사 사조해표 모두 유가증권시장 주권상장법인이므로 자본시장과 금융투자업에 관한 법률 시행령 제176조의5 제1항 제1호에 의거하여 합병가액을 산정한 후, 이를 기초로 합병비율을 산출하였습니다.)","grtmn_etc":"합병주식의 교부와 단주 매각 지급 외에는 별도의 합병 교부금 지급은 없습니다."}]},{"title":"발행증권","list":[{"rcept_no":"20190402002153","corp_cls":"Y","corp_code":"00109718","corp_name":"사조대림","fv":"5,000","slprc":"23,743","slta":"76,070,007,756","kndn":"기명식보통주","cnt":"3,203,892"}]},{"title":"당사회사에관한사항","list":[{"rcept_no":"20190402002153","corp_cls":"Y","corp_code":"00109718","corp_name":"사조대림","cmpnm":"주식회사 사조대림","sen":"존속회사","tast":"720,876,000,000","cpt":"29,822,000,000","isstk_knd":"보통주","isstk_cnt":"5,960,575"},{"rcept_no":"20190402002153","corp_cls":"Y","corp_code":"00109718","corp_name":"사조대림","cmpnm":"주식회사 사조대림","sen":"존속회사","tast":"720,876,000,000","cpt":"29,822,000,000","isstk_knd":"우선주","isstk_cnt":"3,780"},{"rcept_no":"20190402002153","corp_cls":"Y","corp_code":"00109718","corp_name":"사조대림","cmpnm":"주식회사 사조해표","sen":"소멸회사","tast":"400,120,000,000","cpt":"35,800,000,000","isstk_knd":"보통주","isstk_cnt":"7,160,000"},{"rcept_no":"20190402002153","corp_cls":"Y","corp_code":"00109718","corp_name":"사조대림","cmpnm":"주식회사 사조해표","sen":"소멸회사","tast":"400,120,000,000","cpt":"35,800,000,000","isstk_knd":"우선주","isstk_cnt":"-"}]}]}
|
||||||
1
KissMe/Tests/JSON/StockExchangeTransferResult.json
Normal file
1
KissMe/Tests/JSON/StockExchangeTransferResult.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"status":"000","message":"정상","group":[{"title":"일반사항","list":[{"rcept_no":"20190417000436","corp_cls":"Y","corp_code":"00219097","corp_name":"BGF","rpt_rcpn":"20190404001928","stn":"주식교환","bddd":"2019년 04월 04일","ctrd":"2019년 04월 05일","gmtsck_shddstd":"2019년 04월 20일","ap_gmtsck":"2019년 05월 14일","aprskh_pd_bgd":"2019년 05월 14일","aprskh_pd_edd":"2019년 06월 03일","aprskh_prc":"비지에프 : 해당사항 없음\n비지에프포스트 : \n16,855원","mgdt_etc":"\n\n2019년 04월 04일\n2019년 04월 05일\n2019년 04월 19일\n2019년 04월 19일\n2019년 04월 19일 ~ 05월 03일\n\n2019년 04월 20일 ~ 04월 26일\n2019년 05월 14일\n2019년 06월 18일\n\n2019년 07월 05일\n2019년 07월 08일\n\n\n2019년 04월 05일\n\n2019년 04월 05일\n2019년 04월 20일\n\n2019년 04월 21일 ~ 04월 23일\n2019년 04월 29일\n2019년 04월 29일 ~ 05월 14일\n2019년 05월 14일\n2019년 05월 15일\n2019년 05월 14일 ~ 06월 03일\n\n2019년 06월 14일\n\n2019년 06월 17일\n2019년 06월 18일","rt_vl":"(주)비지에프 : (주)비지에프포스트 = \n1:2.0472489","exevl_int":"이촌회계법인","grtmn_etc":"해당 사항 없음"}]},{"title":"발행증권","list":[{"rcept_no":"20190417000436","corp_cls":"Y","corp_code":"00219097","corp_name":"BGF","fv":"1,000","slprc":"8,233","slta":"3,072,580,299","kndn":"기명식보통주","cnt":"373,203"}]},{"title":"당사회사에관한사항","list":[{"rcept_no":"20190417000436","corp_cls":"Y","corp_code":"00219097","corp_name":"BGF","cmpnm":"(주)비지에프","sen":"완전모회사","tast":"1,487,846,000,000","cpt":"95,369,000,000","isstk_knd":"보통주","isstk_cnt":"95,369,179"},{"rcept_no":"20190417000436","corp_cls":"Y","corp_code":"00219097","corp_name":"BGF","cmpnm":"(주)비지에프","sen":"완전모회사","tast":"1,487,846,000,000","cpt":"95,369,000,000","isstk_knd":"-","isstk_cnt":"-"},{"rcept_no":"20190417000436","corp_cls":"Y","corp_code":"00219097","corp_name":"BGF","cmpnm":"(주)비지에프포스트","sen":"완전자회사","tast":"15,212,000,000","cpt":"443,000,000","isstk_knd":"보통주","isstk_cnt":"886,913"},{"rcept_no":"20190417000436","corp_cls":"Y","corp_code":"00219097","corp_name":"BGF","cmpnm":"(주)비지에프포스트","sen":"완전자회사","tast":"15,212,000,000","cpt":"443,000,000","isstk_knd":"-","isstk_cnt":"-"}]}]}
|
||||||
@@ -8,29 +8,44 @@
|
|||||||
import XCTest
|
import XCTest
|
||||||
@testable import KissMe
|
@testable import KissMe
|
||||||
|
|
||||||
class KissMeTests: XCTestCase {
|
|
||||||
|
class DartResult_Tests: XCTestCase {
|
||||||
|
|
||||||
override func setUpWithError() throws {
|
override func setUpWithError() throws {
|
||||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tearDownWithError() throws {
|
override func tearDownWithError() throws {
|
||||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func testExample() throws {
|
func testExample() throws {
|
||||||
// This is an example of a functional test case.
|
validateJson(DomesticDart.StockExchangeTransferResult.self)
|
||||||
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
validateJson(DomesticDart.MergerResult.self)
|
||||||
// Any test you write for XCTest can be annotated as throws and async.
|
validateJson(DomesticDart.EntrustedSecurityResult.self)
|
||||||
// Mark your test throws to produce an unexpected failure when your test encounters an uncaught error.
|
validateJson(DomesticDart.DebtSecurityResult.self)
|
||||||
// Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards.
|
validateJson(DomesticDart.DivisionResult.self)
|
||||||
|
validateJson(DomesticDart.EquitySecurityResult.self)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testPerformanceExample() throws {
|
private func getMock(_ result: String) -> Data {
|
||||||
// This is an example of a performance test case.
|
guard let url = Bundle(for: type(of: self)).url(forResource: result, withExtension: "json") else {
|
||||||
self.measure {
|
fatalError("\(result).json not found")
|
||||||
// Put the code you want to measure the time of here.
|
}
|
||||||
|
|
||||||
|
guard let data = try? Data(contentsOf: url, options: .uncached) else {
|
||||||
|
fatalError("Cannot convert to data")
|
||||||
|
}
|
||||||
|
return data
|
||||||
|
}
|
||||||
|
|
||||||
|
private func validateJson<T>(_ type: T.Type) where T: Decodable {
|
||||||
|
let result = String(describing: type.self)
|
||||||
|
print("Validating... \(result)")
|
||||||
|
|
||||||
|
let mock = getMock(result)
|
||||||
|
do {
|
||||||
|
let _ = try JSONDecoder().decode(type.self, from: mock)
|
||||||
|
} catch {
|
||||||
|
XCTAssert(false, String(describing: error))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
1
KissMe/Tests/New Group/EquitySecurityResult.json
Normal file
1
KissMe/Tests/New Group/EquitySecurityResult.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"status":"000","message":"정상","group":[{"title":"일반사항","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","sbd":"2019년 04월 03일","pymd":"2019년 04월 03일","sband":"-","asand":"-","asstd":"-","exstk":"-","exprc":"-","expd":"-","rpt_rcpn":"20190307000677"}]},{"title":"증권의종류","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","stksen":"기명식보통주","stkcnt":"2,960,601","fv":"5,000","slprc":"5,000","slta":"14,803,005,000","slmthn":"제3자배정"}]},{"title":"인수인정보","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","stksen":"-","actsen":"-","actnmn":"-","udtcnt":"-","udtamt":"-","udtprc":"-","udtmth":"-"}]},{"title":"자금의사용목적","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","se":"재무구조 개선을 위한 제3자배정 유상증자","amt":"14,803,005,000"},{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","se":"발행제비용","amt":"13,748,623"}]},{"title":"매출인에관한사항","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","hdr":"-","rl_cmp":"-","bfsl_hdstk":"-","slstk":"-","atsl_hdstk":"-"}]},{"title":"일반청약자환매청구권","list":[{"rcept_no":"20190401004959","corp_cls":"Y","corp_code":"00106395","corp_name":"금호전기","exprc":"-","expd":"-","grtrs":"-","exavivr":"-","grtcnt":"-"}]}]}
|
||||||
@@ -52,6 +52,12 @@
|
|||||||
34F1900C2A41982A0068C697 /* KissIndexResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F1900B2A41982A0068C697 /* KissIndexResult.swift */; };
|
34F1900C2A41982A0068C697 /* KissIndexResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F1900B2A41982A0068C697 /* KissIndexResult.swift */; };
|
||||||
34F1900F2A426D150068C697 /* ShopContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F1900E2A426D150068C697 /* ShopContext.swift */; };
|
34F1900F2A426D150068C697 /* ShopContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F1900E2A426D150068C697 /* ShopContext.swift */; };
|
||||||
34F190112A4394EB0068C697 /* LocalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F190102A4394EB0068C697 /* LocalContext.swift */; };
|
34F190112A4394EB0068C697 /* LocalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F190102A4394EB0068C697 /* LocalContext.swift */; };
|
||||||
|
34F844042A609A6000152D98 /* EquitySecurityResult.json in Resources */ = {isa = PBXBuildFile; fileRef = 34F844032A609A6000152D98 /* EquitySecurityResult.json */; };
|
||||||
|
34F844072A61799500152D98 /* StockExchangeTransferResult.json in Resources */ = {isa = PBXBuildFile; fileRef = 34F844062A61799500152D98 /* StockExchangeTransferResult.json */; };
|
||||||
|
34F844092A6179D000152D98 /* MergerResult.json in Resources */ = {isa = PBXBuildFile; fileRef = 34F844082A6179D000152D98 /* MergerResult.json */; };
|
||||||
|
34F8440B2A6179FA00152D98 /* EntrustedSecurityResult.json in Resources */ = {isa = PBXBuildFile; fileRef = 34F8440A2A6179FA00152D98 /* EntrustedSecurityResult.json */; };
|
||||||
|
34F8440D2A617A2100152D98 /* DebtSecurityResult.json in Resources */ = {isa = PBXBuildFile; fileRef = 34F8440C2A617A2100152D98 /* DebtSecurityResult.json */; };
|
||||||
|
34F8440F2A617A3D00152D98 /* DivisionResult.json in Resources */ = {isa = PBXBuildFile; fileRef = 34F8440E2A617A3D00152D98 /* DivisionResult.json */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
@@ -111,6 +117,12 @@
|
|||||||
34F1900B2A41982A0068C697 /* KissIndexResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KissIndexResult.swift; sourceTree = "<group>"; };
|
34F1900B2A41982A0068C697 /* KissIndexResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KissIndexResult.swift; sourceTree = "<group>"; };
|
||||||
34F1900E2A426D150068C697 /* ShopContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopContext.swift; sourceTree = "<group>"; };
|
34F1900E2A426D150068C697 /* ShopContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopContext.swift; sourceTree = "<group>"; };
|
||||||
34F190102A4394EB0068C697 /* LocalContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalContext.swift; sourceTree = "<group>"; };
|
34F190102A4394EB0068C697 /* LocalContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalContext.swift; sourceTree = "<group>"; };
|
||||||
|
34F844032A609A6000152D98 /* EquitySecurityResult.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = EquitySecurityResult.json; path = "../New Group/EquitySecurityResult.json"; sourceTree = "<group>"; };
|
||||||
|
34F844062A61799500152D98 /* StockExchangeTransferResult.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = StockExchangeTransferResult.json; sourceTree = "<group>"; };
|
||||||
|
34F844082A6179D000152D98 /* MergerResult.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = MergerResult.json; sourceTree = "<group>"; };
|
||||||
|
34F8440A2A6179FA00152D98 /* EntrustedSecurityResult.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = EntrustedSecurityResult.json; sourceTree = "<group>"; };
|
||||||
|
34F8440C2A617A2100152D98 /* DebtSecurityResult.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = DebtSecurityResult.json; sourceTree = "<group>"; };
|
||||||
|
34F8440E2A617A3D00152D98 /* DivisionResult.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = DivisionResult.json; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -172,6 +184,7 @@
|
|||||||
341F5EB92A0A80EC00962D48 /* KissMeTests */ = {
|
341F5EB92A0A80EC00962D48 /* KissMeTests */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
34F844052A61797700152D98 /* JSON */,
|
||||||
341F5EBA2A0A80EC00962D48 /* KissMeTests.swift */,
|
341F5EBA2A0A80EC00962D48 /* KissMeTests.swift */,
|
||||||
);
|
);
|
||||||
name = KissMeTests;
|
name = KissMeTests;
|
||||||
@@ -282,6 +295,19 @@
|
|||||||
path = Context;
|
path = Context;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
34F844052A61797700152D98 /* JSON */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
34F844062A61799500152D98 /* StockExchangeTransferResult.json */,
|
||||||
|
34F844082A6179D000152D98 /* MergerResult.json */,
|
||||||
|
34F8440A2A6179FA00152D98 /* EntrustedSecurityResult.json */,
|
||||||
|
34F8440C2A617A2100152D98 /* DebtSecurityResult.json */,
|
||||||
|
34F8440E2A617A3D00152D98 /* DivisionResult.json */,
|
||||||
|
34F844032A609A6000152D98 /* EquitySecurityResult.json */,
|
||||||
|
);
|
||||||
|
path = JSON;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXHeadersBuildPhase section */
|
/* Begin PBXHeadersBuildPhase section */
|
||||||
@@ -381,6 +407,12 @@
|
|||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
34F844092A6179D000152D98 /* MergerResult.json in Resources */,
|
||||||
|
34F8440F2A617A3D00152D98 /* DivisionResult.json in Resources */,
|
||||||
|
34F8440B2A6179FA00152D98 /* EntrustedSecurityResult.json in Resources */,
|
||||||
|
34F844042A609A6000152D98 /* EquitySecurityResult.json in Resources */,
|
||||||
|
34F844072A61799500152D98 /* StockExchangeTransferResult.json in Resources */,
|
||||||
|
34F8440D2A617A2100152D98 /* DebtSecurityResult.json in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -654,8 +686,8 @@
|
|||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
DEVELOPMENT_TEAM = NYU8YAYHF8;
|
DEVELOPMENT_TEAM = NYU8YAYHF8;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
|
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 13.3;
|
MACOSX_DEPLOYMENT_TARGET = 13.0;
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.ened.KissMeTests;
|
PRODUCT_BUNDLE_IDENTIFIER = com.ened.KissMeTests;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -675,8 +707,8 @@
|
|||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
DEVELOPMENT_TEAM = NYU8YAYHF8;
|
DEVELOPMENT_TEAM = NYU8YAYHF8;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
|
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 13.3;
|
MACOSX_DEPLOYMENT_TARGET = 13.0;
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.ened.KissMeTests;
|
PRODUCT_BUNDLE_IDENTIFIER = com.ened.KissMeTests;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
|||||||
@@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1430"
|
||||||
|
version = "1.7">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "341F5EAA2A0A80EC00962D48"
|
||||||
|
BuildableName = "KissMe.framework"
|
||||||
|
BlueprintName = "KissMe"
|
||||||
|
ReferencedContainer = "container:KissMe.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
<Testables>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO"
|
||||||
|
parallelizable = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "341F5EB42A0A80EC00962D48"
|
||||||
|
BuildableName = "KissMeTests.xctest"
|
||||||
|
BlueprintName = "KissMeTests"
|
||||||
|
ReferencedContainer = "container:KissMe.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
</Testables>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "341F5EAA2A0A80EC00962D48"
|
||||||
|
BuildableName = "KissMe.framework"
|
||||||
|
BlueprintName = "KissMe"
|
||||||
|
ReferencedContainer = "container:KissMe.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1430"
|
||||||
|
version = "1.7">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
<Testables>
|
||||||
|
<TestableReference
|
||||||
|
skipped = "NO"
|
||||||
|
parallelizable = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "341F5EB42A0A80EC00962D48"
|
||||||
|
BuildableName = "KissMeTests.xctest"
|
||||||
|
BlueprintName = "KissMeTests"
|
||||||
|
ReferencedContainer = "container:KissMe.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</TestableReference>
|
||||||
|
</Testables>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
Reference in New Issue
Block a user