88// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
99//
1010
11- import SwiftDate
11+ @ testable import SwiftDate
1212import XCTest
1313
1414class TestTimePeriodChain : XCTestCase {
@@ -25,5 +25,22 @@ class TestTimePeriodChain: XCTestCase {
2525 XCTAssert ( chain. start == periods. first!. start, " TimePeriodChain initial start not equals to source period start " )
2626 XCTAssert ( chain. end == periods. last!. end, " TimePeriodChain initial end not equals to source period end " )
2727 }
28-
28+
29+ func testInsert ( ) {
30+ let chain = TimePeriodChain ( periods)
31+ let period = TimePeriod ( start: . init( year: 2020 , month: 1 , day: 1 ) , end: . init( year: 2020 , month: 1 , day: 20 ) )
32+
33+ let originalDuration_0 = chain. periods [ 0 ] . duration
34+ let originalDuration_1 = chain. periods [ 1 ] . duration
35+ let originalDuration_2 = chain. periods [ 2 ] . duration
36+ let originalDuration_3 = chain. periods [ 3 ] . duration
37+
38+ chain. insert ( period, at: 2 )
39+
40+ XCTAssert ( chain. periods [ 0 ] . duration == originalDuration_0, " Unexpected duration of 0 period– Actual: \( chain. periods [ 0 ] . duration) – Expected: \( originalDuration_0) " )
41+ XCTAssert ( chain. periods [ 1 ] . duration == originalDuration_1, " Unexpected duration of 1 period – Actual: \( chain. periods [ 1 ] . duration) – Expected: \( originalDuration_1) " )
42+ XCTAssert ( chain. periods [ 2 ] . duration == period. duration, " Unexpected duration of 2 period – Actual: \( chain. periods [ 2 ] . duration) – Expected: \( period. duration) " )
43+ XCTAssert ( chain. periods [ 3 ] . duration == originalDuration_2, " Unexpected duration of 3 period – Actual: \( chain. periods [ 3 ] . duration) – Expected: \( originalDuration_2) " )
44+ XCTAssert ( chain. periods [ 4 ] . duration == originalDuration_3, " Unexpected duration of 4 period – Actual: \( chain. periods [ 4 ] . duration) – Expected: \( originalDuration_3) " )
45+ }
2946}
0 commit comments