fix: Fixes failing static pressure tests

This commit is contained in:
2024-06-17 10:03:00 -04:00
parent bd758fac90
commit 0d5fcb7639
3 changed files with 49 additions and 13 deletions

View File

@@ -108,11 +108,11 @@ public struct PressureEstimationsView: View {
} }
public var body: some View { public var body: some View {
ScrollView { // ScrollView {
EquipmentSettingsFormView( EquipmentSettingsFormView(
store: store.scope(state: \.equipmentSettings, action: \.equipmentSettings) store: store.scope(state: \.equipmentSettings, action: \.equipmentSettings)
) )
} // }
.navigationTitle("Equipment Settings") .navigationTitle("Equipment Settings")
.toolbar { .toolbar {
NextButton { send(.nextButtonTapped) } NextButton { send(.nextButtonTapped) }
@@ -125,10 +125,10 @@ public struct PressureEstimationsView: View {
action: \.destination.equipmentMeasurements action: \.destination.equipmentMeasurements
) )
) { measurementStore in ) { measurementStore in
ScrollView { // ScrollView {
EquipmentMeasurementFormView(store: measurementStore) EquipmentMeasurementFormView(store: measurementStore)
.navigationTitle("Existing Measurements") .navigationTitle("Existing Measurements")
} // }
} }
} }
} }

View File

@@ -85,13 +85,15 @@ public enum EquipmentMeasurement: Equatable, Sendable {
} }
public var externalStaticPressure: Positive<Double> { public var externalStaticPressure: Positive<Double> {
var postFilterAdder = Positive<Double>.zero guard $manufacturersIncludedFilterPressureDrop == .zero else {
if $postFilterPressure > $manufacturersIncludedFilterPressureDrop { return Positive(
postFilterAdder = $postFilterPressure - $manufacturersIncludedFilterPressureDrop ($postFilterPressure.positiveValue - $manufacturersIncludedFilterPressureDrop.positiveValue)
+ $supplyPlenumPressure.positiveValue
)
} }
return $returnPlenumPressure return Positive(
+ postFilterAdder $returnPlenumPressure.positiveValue + $supplyPlenumPressure.positiveValue
+ $supplyPlenumPressure )
} }
} }
@@ -112,7 +114,6 @@ public enum EquipmentMeasurement: Equatable, Sendable {
} }
} }
// TODO: Needs updated for when forms are using `minmal` values.
public struct FlaggedMeasurement: Equatable, Sendable { public struct FlaggedMeasurement: Equatable, Sendable {
public var airflow: Flagged public var airflow: Flagged
public var coilPressureDrop: Flagged public var coilPressureDrop: Flagged
@@ -287,7 +288,11 @@ public enum EquipmentMeasurement: Equatable, Sendable {
} }
public var externalStaticPressure: Positive<Double> { public var externalStaticPressure: Positive<Double> {
($postFilterPressure - $manufacturersIncludedFilterPressureDrop) + $preCoilPressure let double = ($postFilterPressure.positiveValue - $manufacturersIncludedFilterPressureDrop.positiveValue)
+ $preCoilPressure.positiveValue
// ($postFilterPressure - $manufacturersIncludedFilterPressureDrop) + $preCoilPressure
return Positive(double)
} }
} }
} }

View File

@@ -65,7 +65,38 @@ final class PositiveNumericTests: XCTestCase {
) )
sut = envelope.externalStaticPressure.positiveValue sut = envelope.externalStaticPressure.positiveValue
XCTAssertEqual(round(sut * 10) / 10, 0.7) XCTAssertEqual(round(sut * 10) / 10, 0.5)
}
func testExternalStaticPressureWithManufacturersFilterDrop() {
var envelope = EquipmentMeasurement.furnaceAndCoil(
.init(
airflow: 1200,
manufacturersIncludedFilterPressureDrop: 0.1,
returnPlenumPressure: -0.1,
postFilterPressure: -0.2, // here to test it makes positive.
preCoilPressure: 0.4,
supplyPlenumPressure: 0.1
)
)
var sut = envelope.externalStaticPressure.positiveValue
XCTAssertEqual(round(sut * 10) / 10, 0.5)
envelope = .airHandler(
.init(
airflow: 1200,
manufacturersIncludedFilterPressureDrop: 0.1,
returnPlenumPressure: -0.2,
postFilterPressure: 0.3,
postCoilPressure: 0.5,
supplyPlenumPressure: 0.3)
)
sut = envelope.externalStaticPressure.positiveValue
XCTAssertEqual(round(sut * 10) / 10, 0.5)
} }