- iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker, BookmarkViewModel, FeedViewModel - iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker services - Linux: Add settings-store.vala, State.vala signals, view widgets (FeedList, FeedDetail, AddFeed, Search, Settings, Bookmark) - Linux: Add bookmark-store.vala, bookmark vala model, search-service.vala - Android: Add NotificationService, NotificationManager, NotificationPreferencesStore - Android: Add BookmarkDao, BookmarkRepository, SettingsStore - Add unit tests for iOS, Android, Linux - Add integration tests - Add performance benchmarks - Update tasks and documentation Co-Authored-By: Paperclip <noreply@paperclip.ing>
65 lines
1.6 KiB
Swift
65 lines
1.6 KiB
Swift
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)
|
|
}
|
|
}
|