flight 0.0.21 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@ Feature: Flight Committee Calculations
5
5
  Given a flight emitter
6
6
  And a characteristic "origin_airport.iata_code" of "AIA"
7
7
  When the "cohort" committee is calculated
8
- Then the conclusion of the committee should have a record with "count" equal to "1"
8
+ Then the conclusion of the committee should have a record with "count" equal to "2"
9
9
 
10
10
  Scenario: Cohort committee from t100 with no usable characteristics
11
11
  Given a flight emitter
@@ -76,7 +76,7 @@ Feature: Flight Committee Calculations
76
76
  Given a flight emitter
77
77
  When the "freight_share" committee is calculated
78
78
  Then the committee should have used quorum "default"
79
- And the conclusion of the committee should be "0.06391"
79
+ And the conclusion of the committee should be "0.07065"
80
80
 
81
81
  Scenario: Fuel type committee from default
82
82
  Given a flight emitter
@@ -177,7 +177,7 @@ Feature: Flight Committee Calculations
177
177
  Given a flight emitter
178
178
  When the "load_factor" committee is calculated
179
179
  Then the committee should have used quorum "default"
180
- And the conclusion of the committee should be "0.86667"
180
+ And the conclusion of the committee should be "0.85"
181
181
 
182
182
  Scenario Outline: Seats committee from aircraft
183
183
  Given a flight emitter
@@ -220,7 +220,7 @@ Feature: Flight Committee Calculations
220
220
  Given a flight emitter
221
221
  When the "seats" committee is calculated
222
222
  Then the committee should have used quorum "default"
223
- And the conclusion of the committee should be "116"
223
+ And the conclusion of the committee should be "118"
224
224
 
225
225
  Scenario: Passengers committee
226
226
  Given a flight emitter
@@ -268,7 +268,7 @@ Feature: Flight Committee Calculations
268
268
  And the conclusion of the committee should have a record with "endpoint_fuel" equal to "<b>"
269
269
  Examples:
270
270
  | origin | m3 | m2 | m1 | b |
271
- | AIA | 0 | 0 | 2 | 0 |
271
+ | AIA | 0 | 0 | 1 | 0 |
272
272
 
273
273
  Scenario Outline: Fuel use coefficients committee from default
274
274
  Given a flight emitter
@@ -11,4 +11,4 @@ Feature: Flight Emissions Calculations
11
11
  Then the emission value should be within "0.1" kgs of "<emission>"
12
12
  Examples:
13
13
  | source | dest | airline | date | aircraft | emission |
14
- | DCA | JFK | AA | 2010-06-25 | 1 | 146.7 |
14
+ | DCA | JFK | AA | 2010-06-25 | 1 | 148.4 |
@@ -69,7 +69,8 @@ module BrighterPlanet
69
69
  flight_segment_aircraft = flight_segments.inject({}) do |hsh, flight_segment|
70
70
  bts_code = flight_segment.bts_aircraft_type_code
71
71
  key = flight_segment.row_hash
72
- hsh[key] = Aircraft.find_by_bts_aircraft_type_code bts_code
72
+ aircraft = Aircraft.find_by_bts_aircraft_type_code bts_code
73
+ hsh[key] = aircraft if aircraft
73
74
  hsh
74
75
  end
75
76
 
@@ -103,9 +104,14 @@ module BrighterPlanet
103
104
  m1 = Aircraft.fallback.m1
104
105
  end
105
106
 
106
- endpoint_fuel = flight_segments.inject(0) do |endpoint_fuel, flight_segment|
107
- aircraft = Aircraft.find_by_bts_aircraft_type_code flight_segment.bts_aircraft_type_code
108
- endpoint_fuel + (aircraft.endpoint_fuel * flight_segment.passengers)
107
+ if flight_segment_aircraft.values.map(&:endpoint_fuel).any?
108
+ endpoint_fuel = flight_segments.inject(0) do |endpoint_fuel, flight_segment|
109
+ aircraft = flight_segment_aircraft[flight_segment.row_hash]
110
+ aircraft_epfuel = aircraft.andand.endpoint_fuel || 0
111
+ endpoint_fuel + (aircraft_epfuel * flight_segment.passengers)
112
+ end
113
+ else
114
+ endpoint_fuel = Aircraft.fallback.endpoint_fuel
109
115
  end
110
116
 
111
117
  if [m3, m2, m1, endpoint_fuel, passengers].any?(&:nonzero?)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flight
3
3
  version: !ruby/object:Gem::Version
4
- hash: 53
4
+ hash: 51
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 21
10
- version: 0.0.21
9
+ - 22
10
+ version: 0.0.22
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andy Rossmeissl