//
-// SecondFleetBattleTest.swift
+// NormalBattleTest.swift
// KCDTests
//
-// Created by Hori,Masaki on 2017/10/22.
+// Created by Hori,Masaki on 2017/10/19.
// Copyright © 2017年 Hori,Masaki. All rights reserved.
//
import SwiftyJSON
-class SecondFleetBattleTest: XCTestCase {
+class NormalBattleTest: XCTestCase {
var savedShips: [Ship] = []
var shipsHp: [Int] = []
var shipEquipments: [NSOrderedSet] = []
var shipExSlot: [Int] = []
- let deckId = 2
-
- override func setUp() {
-
- super.setUp()
+ func initBattleFleet(_ fleet: Int) {
savedShips = []
shipsHp = []
guard let secondFleet = store.deck(by: 2) else { return XCTFail("Can not get Deck.") }
(0...5).forEach { secondFleet.setShip(id: $0 + 10, for: $0) }
- guard let deck = store.deck(by: deckId) else { return XCTFail("Can not get Deck.") }
+ guard let deck = store.deck(by: fleet) else { return XCTFail("Can not get Deck.") }
(0...5).forEach { deck.setShip(id: $0 + 1, for: $0) }
- store.ships(byDeckId: deckId).forEach {
+ store.ships(byDeckId: fleet).forEach {
$0.nowhp = $0.maxhp
savedShips += [$0]
XCTAssertNotNil(json["api_result"])
let paramValue: [String: String] = [
- "api_deck_id": "\(deckId)",
+ "api_deck_id": "\(fleet)",
"api_maparea_id": "1",
"api_mapinfo_no": "1"
]
let param = Parameter(paramValue)
- XCTAssertEqual(param["api_deck_id"].string, "\(deckId)")
+ XCTAssertEqual(param["api_deck_id"].string, "\(fleet)")
let api = APIResponse(api: MapAPI.start.rawValue, parameter: param, json: json)
XCTAssertEqual(api.json, json)
let store = TemporaryDataStore.default
let battle = store.battle()
XCTAssertNotNil(battle)
- XCTAssertEqual(battle?.deckId, deckId)
+ XCTAssertEqual(battle?.deckId, fleet)
}
}
- override func tearDown() {
+ func clear(_ fleet: Int) {
do {
ResetSortie().reset()
do {
let store = ServerDataStore.oneTimeEditor()
- let ships = store.ships(byDeckId: deckId)
+ let ships = store.ships(byDeckId: fleet)
zip(ships, shipsHp).forEach { $0.nowhp = $1 }
zip(ships, shipEquipments).forEach { $0.equippedItem = $1 }
zip(ships, shipExSlot).forEach { $0.slot_ex = $1 }
- guard let deck = store.deck(by: deckId) else { return XCTFail("Can not get Deck.") }
+ guard let deck = store.deck(by: fleet) else { return XCTFail("Can not get Deck.") }
savedShips.enumerated().forEach { deck.setShip(id: $0.element.id, for: $0.offset) }
}
- super.tearDown()
}
- func testNormalBattle() {
+ func normalBattle(_ fleet: Int) {
// 戦闘(昼戦)
do {
// HPチェック
do {
let store = ServerDataStore.oneTimeEditor()
- let ships = store.ships(byDeckId: deckId)
+ let ships = store.ships(byDeckId: fleet)
XCTAssertEqual(ships.count, 6)
}
}
- func testDamageControl() {
+ func damageControl(_ fleet: Int) {
// ダメコンを設定
do {
// HPチェック
do {
let store = ServerDataStore.oneTimeEditor()
- let ships = store.ships(byDeckId: deckId)
+ let ships = store.ships(byDeckId: fleet)
XCTAssertEqual(ships.count, 6)
XCTAssertEqual(ships[5].nowhp, Int(Double(shipsHp[5]) * 0.2))
}
}
+
+ func testFirstFleet() {
+
+ initBattleFleet(1)
+ normalBattle(1)
+ initBattleFleet(1)
+ damageControl(1)
+ clear(1)
+ }
+ func testSecondFleet() {
+
+ initBattleFleet(2)
+ normalBattle(2)
+ initBattleFleet(2)
+ damageControl(2)
+ clear(2)
+ }
+ func testThiredFleet() {
+
+ initBattleFleet(3)
+ normalBattle(3)
+ initBattleFleet(3)
+ damageControl(3)
+ clear(3)
+ }
+ func testFourthFleet() {
+
+ initBattleFleet(4)
+ normalBattle(4)
+ initBattleFleet(4)
+ damageControl(4)
+ clear(4)
+ }
}