39 lines
1.3 KiB
Swift
39 lines
1.3 KiB
Swift
|
//
|
||
|
// PagedTransactionRepositoryTests.swift
|
||
|
// ZcashLightClientKit-Unit-Tests
|
||
|
//
|
||
|
// Created by Francisco Gindre on 12/6/19.
|
||
|
//
|
||
|
|
||
|
import XCTest
|
||
|
@testable import ZcashLightClientKit
|
||
|
class PagedTransactionRepositoryTests: XCTestCase {
|
||
|
|
||
|
var pagedTransactionRepository: PaginatedTransactionRepository!
|
||
|
var transactionRepository: TransactionRepository!
|
||
|
|
||
|
override func setUp() {
|
||
|
transactionRepository = MockTransactionRepository(unminedCount: 5, receivedCount: 150, sentCount: 100)
|
||
|
pagedTransactionRepository = PagedTransactionDAO(repository: transactionRepository)
|
||
|
}
|
||
|
|
||
|
func testBrowsePages() {
|
||
|
let pageSize = pagedTransactionRepository.pageSize
|
||
|
let pageCount = pagedTransactionRepository.pageCount
|
||
|
let totalItems = pagedTransactionRepository.itemCount
|
||
|
for i in 0 ..< pageCount/pageSize {
|
||
|
guard let page = try? pagedTransactionRepository.page(i) else {
|
||
|
XCTFail("page failed to get page \(i)")
|
||
|
return
|
||
|
}
|
||
|
if i < pageCount {
|
||
|
XCTAssert(page.count == pageSize)
|
||
|
} else {
|
||
|
// last page has to have the remainding items
|
||
|
XCTAssertEqual(page.count, totalItems - (pageSize * pageCount))
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|