feat: Begins adding html snapshot tests.

This commit is contained in:
2025-03-07 09:08:08 -05:00
parent b42b9cf03b
commit 35a54db9a3
30 changed files with 1011 additions and 66 deletions

View File

@@ -4,7 +4,7 @@ public enum AtticVentilation {
Calculate attic ventilation requirements and assess current conditions.
"""
public struct Request: Codable, Equatable, Sendable {
public struct Request: Codable, Equatable, Sendable, Hashable {
public let pressureDifferential: Double
public let outdoorTemperature: Double

View File

@@ -4,17 +4,17 @@ public enum Capacitor {
Calculate run capacitor values based on electrical measurements.
"""
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable {
case size
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable, Hashable {
case test
case size
}
public enum Request: Codable, Equatable, Sendable {
public enum Request: Codable, Equatable, Sendable, Hashable {
case size(SizeRequest)
case test(TestRequest)
public struct SizeRequest: Codable, Equatable, Sendable {
public struct SizeRequest: Codable, Equatable, Sendable, Hashable {
public let runningAmps: Double
public let lineVoltage: Double
@@ -27,7 +27,7 @@ public enum Capacitor {
}
}
public struct TestRequest: Codable, Equatable, Sendable {
public struct TestRequest: Codable, Equatable, Sendable, Hashable {
public let startWindingAmps: Double
public let runToCommonVoltage: Double

View File

@@ -8,7 +8,7 @@ public enum DehumidifierSize {
/// Represents the request for determining dehumidifier size based on
/// latent load and indoor conditions.
public struct Request: Codable, Equatable, Sendable {
public struct Request: Codable, Equatable, Sendable, Hashable {
public let latentLoad: Double
public let temperature: Double

View File

@@ -4,16 +4,16 @@ public enum FilterPressureDrop {
Calculate filter pressure drop and sizing based on system requirements.
"""
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable {
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable, Hashable {
case basic
case fanLaw
}
public enum Request: Codable, Equatable, Sendable {
public enum Request: Codable, Equatable, Sendable, Hashable {
case basic(Basic)
case fanLaw(FanLaw)
public struct Basic: Codable, Equatable, Sendable {
public struct Basic: Codable, Equatable, Sendable, Hashable {
public let systemSize: Double
public let climateZone: ClimateZone.ZoneType
@@ -36,7 +36,7 @@ public enum FilterPressureDrop {
}
}
public struct FanLaw: Codable, Equatable, Sendable {
public struct FanLaw: Codable, Equatable, Sendable, Hashable {
public let filterWidth: Double
public let filterHeight: Double

View File

@@ -7,7 +7,7 @@ public enum HVACSystemPerformance {
Analyze HVAC system performance and capacity.
"""
public struct Request: Codable, Equatable, Sendable {
public struct Request: Codable, Equatable, Sendable, Hashable {
public let altitude: Double?
public let airflow: Double

View File

@@ -1,4 +1,4 @@
public enum HVACSystemSize: Double, CaseIterable, Codable, Equatable, Sendable {
public enum HVACSystemSize: Double, CaseIterable, Codable, Equatable, Sendable, Hashable {
case one = 1
case oneAndAHalf = 1.5
case two = 2

View File

@@ -6,16 +6,16 @@ public enum HeatingBalancePoint {
Calculate the heating balance point.
"""
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable {
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable, Hashable {
case economic
case thermal
}
public enum Request: Codable, Equatable, Sendable {
public enum Request: Codable, Equatable, Sendable, Hashable {
case economic(Economic)
case thermal(Thermal)
public struct Economic: Codable, Equatable, Sendable {
public struct Economic: Codable, Equatable, Sendable, Hashable {
public let fuelType: FuelType
public let fuelCostPerUnit: Double
@@ -35,7 +35,7 @@ public enum HeatingBalancePoint {
}
}
public struct Thermal: Codable, Equatable, Sendable {
public struct Thermal: Codable, Equatable, Sendable, Hashable {
public let systemSize: Double
public let capacityAt47: Double?
@@ -119,9 +119,9 @@ public enum HeatingBalancePoint {
}
}
public enum HeatLoss: Codable, Equatable, Sendable {
public enum HeatLoss: Codable, Equatable, Sendable, Hashable {
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable {
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable, Hashable {
case estimated
case known
}
@@ -137,7 +137,7 @@ public enum HeatingBalancePoint {
}
}
public enum FuelType: String, CaseIterable, Codable, Equatable, Sendable {
public enum FuelType: String, CaseIterable, Codable, Equatable, Sendable, Hashable {
case naturalGas
case propane
case oil

View File

@@ -7,7 +7,7 @@ public enum MoldRisk {
Assess mold risk based on indoor conditions.
"""
public struct Request: Codable, Equatable, Sendable {
public struct Request: Codable, Equatable, Sendable, Hashable {
public let temperature: Double
public let humidity: Double

View File

@@ -7,7 +7,8 @@ public enum Psychrometrics {
public static let description = """
Calculate the psychrometric properties of air based on temperature and humidity readings.
"""
public struct Request: Codable, Equatable, Sendable {
public struct Request: Codable, Equatable, Sendable, Hashable {
// public let mode: Mode
public let temperature: Double
@@ -42,7 +43,7 @@ public enum Psychrometrics {
public extension SiteRoute.View {
enum Psychrometrics: Equatable, Sendable {
enum Psychrometrics: Equatable, Sendable, Hashable {
case index
case submit(Routes.Psychrometrics.Request)

View File

@@ -4,7 +4,7 @@ public enum RoomPressure {
Calculate return grille and duct sizing for room pressure balancing.
"""
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable {
public enum Mode: String, CaseIterable, Codable, Equatable, Sendable, Hashable {
case knownAirflow
case measuredPressure
@@ -16,11 +16,11 @@ public enum RoomPressure {
}
}
public enum Request: Codable, Equatable, Sendable {
public enum Request: Codable, Equatable, Sendable, Hashable {
case knownAirflow(KnownAirflow)
case measuredPressure(MeasuredPressure)
public struct KnownAirflow: Codable, Equatable, Sendable {
public struct KnownAirflow: Codable, Equatable, Sendable, Hashable {
public let targetRoomPressure: Double
public let doorWidth: Double
@@ -46,7 +46,7 @@ public enum RoomPressure {
}
}
public struct MeasuredPressure: Codable, Equatable, Sendable {
public struct MeasuredPressure: Codable, Equatable, Sendable, Hashable {
public let measuredRoomPressure: Double // pascals.
public let doorWidth: Double

View File

@@ -98,7 +98,7 @@ public enum SiteRoute: Equatable, Sendable {
// }
public extension SiteRoute {
enum View: Equatable, Sendable {
enum View: Equatable, Sendable, Hashable {
case index
case atticVentilation(AtticVentilation)
@@ -144,7 +144,7 @@ public extension SiteRoute {
}
}
public enum AtticVentilation: Equatable, Sendable {
public enum AtticVentilation: Equatable, Sendable, Hashable {
case index
case submit(Routes.AtticVentilation.Request)
@@ -175,7 +175,7 @@ public extension SiteRoute {
}
}
public enum Capacitor: Equatable, Sendable {
public enum Capacitor: Equatable, Sendable, Hashable {
case index(mode: Routes.Capacitor.Mode? = nil)
case submit(Routes.Capacitor.Request)
@@ -219,7 +219,7 @@ public extension SiteRoute {
}
}
public enum DehumidifierSize: Equatable, Sendable {
public enum DehumidifierSize: Equatable, Sendable, Hashable {
case index
case submit(Routes.DehumidifierSize.Request)
@@ -245,7 +245,7 @@ public extension SiteRoute {
}
}
public enum FilterPressureDrop: Equatable, Sendable {
public enum FilterPressureDrop: Equatable, Sendable, Hashable {
case index(mode: Routes.FilterPressureDrop.Mode? = nil)
case submit(Routes.FilterPressureDrop.Request)
@@ -292,7 +292,7 @@ public extension SiteRoute {
}
}
public enum HeatingBalancePoint: Equatable, Sendable {
public enum HeatingBalancePoint: Equatable, Sendable, Hashable {
case index(
mode: Routes.HeatingBalancePoint.Mode? = nil,
heatLossMode: Routes.HeatingBalancePoint.HeatLoss.Mode? = nil
@@ -357,7 +357,7 @@ public extension SiteRoute {
}
}
public enum HVACSystemPerformance: Equatable, Sendable {
public enum HVACSystemPerformance: Equatable, Sendable, Hashable {
case index
case submit(Routes.HVACSystemPerformance.Request)
@@ -387,7 +387,7 @@ public extension SiteRoute {
}
}
public enum MoldRisk: Equatable, Sendable {
public enum MoldRisk: Equatable, Sendable, Hashable {
case index
case submit(Routes.MoldRisk.Request)
@@ -417,7 +417,7 @@ public extension SiteRoute {
}
}
public enum RoomPressure: Equatable, Sendable {
public enum RoomPressure: Equatable, Sendable, Hashable {
case index(mode: Routes.RoomPressure.Mode? = nil)
case submit(Routes.RoomPressure.Request)