import UIKit
import XCTest

protocol URLServiceProtocol {
    func networkCall() -> Bool
}

class URLService: URLServiceProtocol {
    private init() {}
    static let shared = URLService()
    func networkCall() -> Bool {
        // URLSession code
        return true
    }
}

class MockURLService: URLServiceProtocol {
    func networkCall() -> Bool {
        // Mock URLSession code
        return false
    }
}

class NetworkClass {
    let urlService: URLServiceProtocol
    init(urlService: URLServiceProtocol) {
        self.urlService = urlService
    }
    func useNC() -> Bool {
        return urlService.networkCall()
    }
}

let nc = NetworkClass(urlService: URLService.shared)

class tests: XCTestCase {
    func testNetworkClass() {
        let mock = MockURLService()
        let nc = NetworkClass(urlService: mock)
        XCTAssertEqual(nc.useNC(), false)
    }
}

tests.defaultTestSuite.run()