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 {
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")
}
// }
}
}
}

View File

@@ -85,13 +85,15 @@ public enum EquipmentMeasurement: Equatable, Sendable {
}
public var externalStaticPressure: Positive<Double> {
var postFilterAdder = Positive<Double>.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<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
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)
}