Files
swift-estimated-pressures-core/Sources/SharedModels/EquipmentMetadata.swift

77 lines
1.8 KiB
Swift

import Foundation
public struct EquipmentMetadata: Equatable, Sendable {
public var coolingCapacity: CoolingCapacity
public var fanType: FanType
public var ratedStaticPressures: RatedStaticPressures
public init(
coolingCapacity: CoolingCapacity = .three,
fanType: FanType = .constantSpeed,
ratedStaticPressures: RatedStaticPressures = .init()
) {
self.coolingCapacity = coolingCapacity
self.fanType = fanType
self.ratedStaticPressures = ratedStaticPressures
}
public enum CoolingCapacity: Double, Equatable, CaseIterable, Identifiable, CustomStringConvertible, Sendable {
case half = 0.5
case threeQuarter = 0.75
case one = 1
case oneAndAHalf = 1.5
case two = 2
case twoAndAHalf = 2.5
case three = 3
case threeAndAHalf = 3.5
case four = 4
case five = 5
public var id: Self { self }
public static var `default`: Self { .three }
public var description: String {
switch self {
case .half:
return "1/2 Ton"
case .threeQuarter:
return "3/4 Ton"
case .one:
return "1 Ton"
case .oneAndAHalf:
return "1.5 Tons"
case .two:
return "2 Tons"
case .twoAndAHalf:
return "2.5 Tons"
case .three:
return "3 Tons"
case .threeAndAHalf:
return "3.5 Tons"
case .four:
return "4 Tons"
case .five:
return "5 Tons"
}
}
}
public enum FanType: Hashable, Equatable, CaseIterable, CustomStringConvertible, Identifiable, Sendable {
case constantSpeed
case variableSpeed
public var id: Self { self }
public static var `default`: Self { .constantSpeed }
public var description: String {
switch self {
case .constantSpeed:
return "Constant Speed"
case .variableSpeed:
return "Variable Speed"
}
}
}
}