import XCTest @testable import RSSuper /// Unit tests for SyncWorker final class SyncWorkerTests: XCTestCase { private var worker: SyncWorker! override func setUp() { super.setUp() worker = SyncWorker() } override func tearDown() { worker = nil super.tearDown() } func testChunkedArrayExtension() { let array = [1, 2, 3, 4, 5, 6, 7] let chunks = array.chunked(into: 3) XCTAssertEqual(chunks.count, 3) XCTAssertEqual(chunks[0], [1, 2, 3]) XCTAssertEqual(chunks[1], [4, 5, 6]) XCTAssertEqual(chunks[2], [7]) } func testChunkedArrayExactDivision() { let array = [1, 2, 3, 4] let chunks = array.chunked(into: 2) XCTAssertEqual(chunks.count, 2) XCTAssertEqual(chunks[0], [1, 2]) XCTAssertEqual(chunks[1], [3, 4]) } func testChunkedArrayEmpty() { let array: [Int] = [] let chunks = array.chunked(into: 3) XCTAssertEqual(chunks.count, 0) } func testSyncResultInit() { let result = SyncResult( feedsSynced: 5, articlesFetched: 100, errors: [] ) XCTAssertEqual(result.feedsSynced, 5) XCTAssertEqual(result.articlesFetched, 100) XCTAssertEqual(result.errors.count, 0) } func testSyncResultDefaultInit() { let result = SyncResult() XCTAssertEqual(result.feedsSynced, 0) XCTAssertEqual(result.articlesFetched, 0) XCTAssertEqual(result.errors.count, 0) } }