diff --git a/Sources/PressureEstimationsFeature/PressureEstimations.swift b/Sources/PressureEstimationsFeature/PressureEstimations.swift index 6035480..8bef696 100644 --- a/Sources/PressureEstimationsFeature/PressureEstimations.swift +++ b/Sources/PressureEstimationsFeature/PressureEstimations.swift @@ -108,11 +108,11 @@ public struct PressureEstimationsView: View { } public var body: some View { - ScrollView { +// ScrollView { EquipmentSettingsFormView( store: store.scope(state: \.equipmentSettings, action: \.equipmentSettings) ) - } +// } .navigationTitle("Equipment Settings") .toolbar { NextButton { send(.nextButtonTapped) } @@ -125,10 +125,10 @@ public struct PressureEstimationsView: View { action: \.destination.equipmentMeasurements ) ) { measurementStore in - ScrollView { +// ScrollView { EquipmentMeasurementFormView(store: measurementStore) .navigationTitle("Existing Measurements") - } +// } } } } diff --git a/Sources/SharedModels/EquipmentMeasurement.swift b/Sources/SharedModels/EquipmentMeasurement.swift index 08045e7..dab6874 100644 --- a/Sources/SharedModels/EquipmentMeasurement.swift +++ b/Sources/SharedModels/EquipmentMeasurement.swift @@ -85,13 +85,15 @@ public enum EquipmentMeasurement: Equatable, Sendable { } public var externalStaticPressure: Positive { - var postFilterAdder = Positive.zero - if $postFilterPressure > $manufacturersIncludedFilterPressureDrop { - postFilterAdder = $postFilterPressure - $manufacturersIncludedFilterPressureDrop + guard $manufacturersIncludedFilterPressureDrop == .zero else { + return Positive( + ($postFilterPressure.positiveValue - $manufacturersIncludedFilterPressureDrop.positiveValue) + + $supplyPlenumPressure.positiveValue + ) } - return $returnPlenumPressure - + postFilterAdder - + $supplyPlenumPressure + return Positive( + $returnPlenumPressure.positiveValue + $supplyPlenumPressure.positiveValue + ) } } @@ -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 var airflow: Flagged public var coilPressureDrop: Flagged @@ -287,7 +288,11 @@ public enum EquipmentMeasurement: Equatable, Sendable { } public var externalStaticPressure: Positive { - ($postFilterPressure - $manufacturersIncludedFilterPressureDrop) + $preCoilPressure + let double = ($postFilterPressure.positiveValue - $manufacturersIncludedFilterPressureDrop.positiveValue) + + $preCoilPressure.positiveValue + +// ($postFilterPressure - $manufacturersIncludedFilterPressureDrop) + $preCoilPressure + return Positive(double) } } } diff --git a/Tests/EstimatedPressureTests/EstimatedPressureTests.swift b/Tests/EstimatedPressureTests/EstimatedPressureTests.swift index 5f7b173..e494aa0 100644 --- a/Tests/EstimatedPressureTests/EstimatedPressureTests.swift +++ b/Tests/EstimatedPressureTests/EstimatedPressureTests.swift @@ -65,7 +65,38 @@ final class PositiveNumericTests: XCTestCase { ) 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) }