bus_trip 0.0.10 → 0.0.11

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.
@@ -2,27 +2,32 @@ Feature: Bus Trip Committee Calculations
2
2
  The bus trip model should generate correct committee calculations
3
3
 
4
4
  Scenario Outline: Distance from duration, distance estimate, and bus class
5
- Given a bus trip has "distance_estimate" of "<distance_estimate>"
6
- And it used "duration" "<duration>"
7
- And it used "bus_class.name" "<bus_class>"
8
- When emissions are calculated
9
- Then the distance committee should be close to <distance>, +/-1
5
+ Given a bus trip emitter
6
+ And a characteristic "distance_estimate" of "<distance_estimate>"
7
+ And a characteristic "duration" of "<duration>"
8
+ And a characteristic "bus_class.name" of "<bus_class>"
9
+ When the "bus_class" committee is calculated
10
+ And the "distance" committee is calculated
11
+ Then the conclusion of the committee should be "<distance>"
10
12
  Examples:
11
13
  | duration | distance_estimate | bus_class | distance |
12
- | 40 | | | 21 |
14
+ | 40 | | | 8 |
13
15
  | | 60 | | 60 |
14
- | | | regional coach | 21 |
16
+ | | | regional coach | 8 |
15
17
  | | | city transit | 8 |
16
18
 
17
19
  Scenario Outline: Diesel consumed from distance and diesel intensity
18
- Given a bus trip has "distance_estimate" of "<distance_estimate>"
19
- And it used "duration" "<duration>"
20
- And it used "bus_class.name" "<bus_class>"
21
- When emissions are calculated
22
- Then the diesel_consumed committee should be close to <diesel_consumed>, +/-0.1
20
+ Given a bus trip emitter
21
+ And a characteristic "distance_estimate" of "<distance_estimate>"
22
+ And a characteristic "duration" of "<duration>"
23
+ And a characteristic "bus_class.name" of "<bus_class>"
24
+ When the "distance" committee is calculated
25
+ And the "diesel_intensity" committee is calculated
26
+ And the "diesel_consumed" committee is calculated
27
+ Then the conclusion of the committee should be "<diesel_consumed>"
23
28
  Examples:
24
29
  | duration | distance_estimate | bus_class | diesel_consumed |
25
- | 40 | | | 7.0 |
26
- | | 60 | | 20.1 |
27
- | | | regional coach | 5.0 |
28
- | | | city transit | 3.0 |
30
+ | 40 | | regional coach | 5.03461 |
31
+ | | 60 | city transit | 25.40316 |
32
+ | | | regional coach | 5.03461 |
33
+ | | | city transit | 3.04574 |
@@ -5,7 +5,7 @@ Feature: Bus Trip Emissions Calculations
5
5
  Given a bus trip has "distance_estimate" of "<distance>"
6
6
  And it has "timeframe" of "<timeframe>"
7
7
  When emissions are calculated
8
- Then the emission value should be within 0.1 kgs of <emission>
8
+ Then the emission value should be within "0.1" kgs of "<emission>"
9
9
  Examples:
10
10
  | timeframe | distance | emission |
11
11
  | 2010-08-01/2010-08-01 | 10 | 1.2 |
@@ -13,10 +13,10 @@ Feature: Bus Trip Emissions Calculations
13
13
 
14
14
  Scenario Outline: Standard Calculations for bus trips with timeframe and bus class
15
15
  Given a bus trip has "distance_estimate" of "<distance>"
16
- And it has "bus_class.name" "<bus_class>"
16
+ And it has "bus_class.name" of "<bus_class>"
17
17
  And it has "timeframe" of "<timeframe>"
18
18
  When emissions are calculated
19
- Then the emission value should be within 0.1 kgs of <emission>
19
+ Then the emission value should be within "0.1" kgs of "<emission>"
20
20
  Examples:
21
21
  | timeframe | distance | bus_class | emission |
22
22
  | 2010-08-01/2010-08-01 | 10 | city transit | 3.4 |
@@ -24,13 +24,13 @@ Feature: Bus Trip Emissions Calculations
24
24
 
25
25
  Scenario Outline: Calculations involving fuel types
26
26
  Given a bus trip has "distance_estimate" of "<distance>"
27
- And it used "bus_class.gasoline_intensity" "<gasoline>"
28
- And it used "bus_class.diesel_intensity" "<diesel>"
29
- And it used "bus_class.alternative_fuels_intensity" "<alternative>"
30
- And it has "bus_class.passengers" "<passengers>"
31
- And it has "bus_class.name" "<bus_class>"
27
+ And it has "bus_class.gasoline_intensity" of "<gasoline>"
28
+ And it has "bus_class.diesel_intensity" of "<diesel>"
29
+ And it has "bus_class.alternative_fuels_intensity" of "<alternative>"
30
+ And it has "bus_class.passengers" of "<passengers>"
31
+ And it has "bus_class.name" of "<bus_class>"
32
32
  When emissions are calculated
33
- Then the emission value should be within 0.1 kgs of <emission>
33
+ Then the emission value should be within "0.1" kgs of "<emission>"
34
34
  Examples:
35
35
  | gasoline | diesel | alternative | passengers | distance | bus_class | emission |
36
36
  | 40 | | | 25 | 328 | regional coach | 41.8 |
@@ -1,10 +1,7 @@
1
- require 'leap'
2
-
3
1
  module BrighterPlanet
4
2
  module BusTrip
5
3
  module CarbonModel
6
4
  def self.included(base)
7
- base.extend ::Leap::Subject
8
5
  base.extend FastTimestamp
9
6
  base.decide :emission, :with => :characteristics do
10
7
  committee :emission do # returns kg CO2
@@ -1,16 +1,12 @@
1
- require 'characterizable'
2
-
3
1
  module BrighterPlanet
4
2
  module BusTrip
5
3
  module Characterization
6
4
  def self.included(base)
7
- base.send :include, Characterizable
8
5
  base.characterize do
9
6
  has :bus_class
10
7
  has :duration # measures time in minutes
11
8
  has :distance_estimate, :trumps => :duration, :measures => :length
12
9
  end
13
- base.add_implicit_characteristics
14
10
  end
15
11
  end
16
12
  end
data/lib/bus_trip/data.rb CHANGED
@@ -1,5 +1,3 @@
1
- require 'data_miner'
2
-
3
1
  module BrighterPlanet
4
2
  module BusTrip
5
3
  module Data
@@ -1,10 +1,7 @@
1
- require 'summary_judgement'
2
-
3
1
  module BrighterPlanet
4
2
  module BusTrip
5
3
  module Summarization
6
4
  def self.included(base)
7
- base.extend SummaryJudgement
8
5
  base.summarize do |has|
9
6
  has.adjective lambda { |bus_trip| "#{bus_trip.distance_estimate_in_miles.adaptive_round(1)}-mile" }, :if => :distance_estimate
10
7
  has.adjective lambda { |bus_trip| "#{bus_trip.duration}-minute" }, :if => :duration
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bus_trip
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 10
10
- version: 0.0.10
9
+ - 11
10
+ version: 0.0.11
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andy Rossmeissl
@@ -19,13 +19,14 @@ autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
21
 
22
- date: 2010-09-08 00:00:00 -05:00
22
+ date: 2010-09-22 00:00:00 -04:00
23
23
  default_executable:
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency
26
- name: activerecord
26
+ type: :development
27
27
  prerelease: false
28
- requirement: &id001 !ruby/object:Gem::Requirement
28
+ name: activerecord
29
+ version_requirements: &id001 !ruby/object:Gem::Requirement
29
30
  none: false
30
31
  requirements:
31
32
  - - ~>
@@ -36,12 +37,12 @@ dependencies:
36
37
  - 0
37
38
  - 0
38
39
  version: 3.0.0
39
- type: :development
40
- version_requirements: *id001
40
+ requirement: *id001
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ type: :development
43
43
  prerelease: false
44
- requirement: &id002 !ruby/object:Gem::Requirement
44
+ name: bundler
45
+ version_requirements: &id002 !ruby/object:Gem::Requirement
45
46
  none: false
46
47
  requirements:
47
48
  - - ~>
@@ -51,12 +52,12 @@ dependencies:
51
52
  - 1
52
53
  - 0
53
54
  version: "1.0"
54
- type: :development
55
- version_requirements: *id002
55
+ requirement: *id002
56
56
  - !ruby/object:Gem::Dependency
57
- name: cucumber
57
+ type: :development
58
58
  prerelease: false
59
- requirement: &id003 !ruby/object:Gem::Requirement
59
+ name: cucumber
60
+ version_requirements: &id003 !ruby/object:Gem::Requirement
60
61
  none: false
61
62
  requirements:
62
63
  - - "="
@@ -67,12 +68,12 @@ dependencies:
67
68
  - 8
68
69
  - 3
69
70
  version: 0.8.3
70
- type: :development
71
- version_requirements: *id003
71
+ requirement: *id003
72
72
  - !ruby/object:Gem::Dependency
73
- name: jeweler
73
+ type: :development
74
74
  prerelease: false
75
- requirement: &id004 !ruby/object:Gem::Requirement
75
+ name: jeweler
76
+ version_requirements: &id004 !ruby/object:Gem::Requirement
76
77
  none: false
77
78
  requirements:
78
79
  - - "="
@@ -83,12 +84,12 @@ dependencies:
83
84
  - 4
84
85
  - 0
85
86
  version: 1.4.0
86
- type: :development
87
- version_requirements: *id004
87
+ requirement: *id004
88
88
  - !ruby/object:Gem::Dependency
89
- name: rake
89
+ type: :development
90
90
  prerelease: false
91
- requirement: &id005 !ruby/object:Gem::Requirement
91
+ name: rake
92
+ version_requirements: &id005 !ruby/object:Gem::Requirement
92
93
  none: false
93
94
  requirements:
94
95
  - - ">="
@@ -97,12 +98,12 @@ dependencies:
97
98
  segments:
98
99
  - 0
99
100
  version: "0"
100
- type: :development
101
- version_requirements: *id005
101
+ requirement: *id005
102
102
  - !ruby/object:Gem::Dependency
103
- name: rdoc
103
+ type: :development
104
104
  prerelease: false
105
- requirement: &id006 !ruby/object:Gem::Requirement
105
+ name: rdoc
106
+ version_requirements: &id006 !ruby/object:Gem::Requirement
106
107
  none: false
107
108
  requirements:
108
109
  - - ">="
@@ -111,12 +112,12 @@ dependencies:
111
112
  segments:
112
113
  - 0
113
114
  version: "0"
114
- type: :development
115
- version_requirements: *id006
115
+ requirement: *id006
116
116
  - !ruby/object:Gem::Dependency
117
- name: rspec
117
+ type: :development
118
118
  prerelease: false
119
- requirement: &id007 !ruby/object:Gem::Requirement
119
+ name: rspec
120
+ version_requirements: &id007 !ruby/object:Gem::Requirement
120
121
  none: false
121
122
  requirements:
122
123
  - - "="
@@ -129,40 +130,39 @@ dependencies:
129
130
  - beta
130
131
  - 17
131
132
  version: 2.0.0.beta.17
132
- type: :development
133
- version_requirements: *id007
133
+ requirement: *id007
134
134
  - !ruby/object:Gem::Dependency
135
- name: sniff
135
+ type: :development
136
136
  prerelease: false
137
- requirement: &id008 !ruby/object:Gem::Requirement
137
+ name: sniff
138
+ version_requirements: &id008 !ruby/object:Gem::Requirement
138
139
  none: false
139
140
  requirements:
140
141
  - - ~>
141
142
  - !ruby/object:Gem::Version
142
- hash: 15
143
+ hash: 57
143
144
  segments:
144
145
  - 0
145
146
  - 1
146
- - 10
147
- version: 0.1.10
148
- type: :development
149
- version_requirements: *id008
147
+ - 17
148
+ version: 0.1.17
149
+ requirement: *id008
150
150
  - !ruby/object:Gem::Dependency
151
- name: emitter
151
+ type: :runtime
152
152
  prerelease: false
153
- requirement: &id009 !ruby/object:Gem::Requirement
153
+ name: emitter
154
+ version_requirements: &id009 !ruby/object:Gem::Requirement
154
155
  none: false
155
156
  requirements:
156
157
  - - ~>
157
158
  - !ruby/object:Gem::Version
158
- hash: 13
159
+ hash: 19
159
160
  segments:
160
161
  - 0
161
- - 0
162
- - 9
163
- version: 0.0.9
164
- type: :runtime
165
- version_requirements: *id009
162
+ - 1
163
+ - 4
164
+ version: 0.1.4
165
+ requirement: *id009
166
166
  description: A software model in Ruby for the greenhouse gas emissions of a bus trip
167
167
  email: andy@rossmeissl.net
168
168
  executables: []