//
//  AutoTestProtocal.swift
//  KdanAuto
//
//  Created by 朱东勇 on 2022/11/22.
//

import Foundation


enum AutoTestStatus : Int {
    
    case Normal = 0
    
    case Wait = 1
    
    case Process = 2
    
    case Finished = 3
    
}

protocol AutoTestProtocal : NSObjectProtocol {
    // 类型关键字
    func fileType() -> String // PPT/RTF/EXCEL/Word/....
    func type() -> String
    func name() -> String
    
    func keys() -> NSArray
    func selectedKeys() -> NSArray
    
    func setSelectedKeys(_ keys:NSArray)
    
    func autoTest()
    
    func testReport() -> NSAttributedString?
    /** Default is 0.0, The range of value is [0, 1]
     */
    func degree() -> Double
//    func testReportOfFile(_ fileName:String) -> NSAttributedString?
    /** Default is 0.0, The range of value is [0, 1]
     */
    func degreeOfFile(_ fileName:String) -> Double
    
    /**
     Replace the refrence image for next image check test
     */
    func canUpdateRefImage() -> Bool
    func updateRefImage()
    func canUpdateRefImage(_ fileName:String) -> Bool
    func updateRefImage(_ fileName:String)
    
    
    func status() -> AutoTestStatus
}
