38 lines
1.5 KiB
Swift
38 lines
1.5 KiB
Swift
|
//
|
||
|
// CompactBlockProcessorOfflineTests.swift
|
||
|
//
|
||
|
//
|
||
|
// Created by Michal Fousek on 15.12.2022.
|
||
|
//
|
||
|
|
||
|
import XCTest
|
||
|
@testable import TestUtils
|
||
|
@testable import ZcashLightClientKit
|
||
|
|
||
|
class CompactBlockProcessorOfflineTests: XCTestCase {
|
||
|
func testComputeProcessingRangeForSingleLoop() async throws {
|
||
|
let processorConfig = CompactBlockProcessor.Configuration.standard(
|
||
|
for: ZcashNetworkBuilder.network(for: .testnet),
|
||
|
walletBirthday: ZcashNetworkBuilder.network(for: .testnet).constants.saplingActivationHeight
|
||
|
)
|
||
|
|
||
|
let service = MockLightWalletService(
|
||
|
latestBlockHeight: 690000,
|
||
|
service: LightWalletGRPCService(endpoint: LightWalletEndpointBuilder.eccTestnet)
|
||
|
)
|
||
|
let storage = CompactBlockStorage.init(connectionProvider: SimpleConnectionProvider(path: processorConfig.cacheDb.absoluteString))
|
||
|
let processor = CompactBlockProcessor(service: service, storage: storage, backend: ZcashRustBackend.self, config: processorConfig)
|
||
|
|
||
|
let fullRange = 0...1000
|
||
|
|
||
|
var range = await processor.computeSingleLoopDownloadRange(fullRange: fullRange, loopCounter: 0, batchSize: 100)
|
||
|
XCTAssertEqual(range, 0...99)
|
||
|
|
||
|
range = await processor.computeSingleLoopDownloadRange(fullRange: fullRange, loopCounter: 5, batchSize: 100)
|
||
|
XCTAssertEqual(range, 500...599)
|
||
|
|
||
|
range = await processor.computeSingleLoopDownloadRange(fullRange: fullRange, loopCounter: 10, batchSize: 100)
|
||
|
XCTAssertEqual(range, 1000...1000)
|
||
|
}
|
||
|
}
|