purchase 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
@@ -133,25 +133,26 @@ Feature: Purchase Committee Calculations
|
|
133
133
|
Scenario Outline: Sector shares committee from industry and product line shares
|
134
134
|
Given a purchase emitter
|
135
135
|
And a characteristic "merchant_category.mcc" of "<mcc>"
|
136
|
+
And a characteristic "adjusted_cost" of "1"
|
136
137
|
When the "merchant_categories_industries" committee is calculated
|
137
138
|
And the "industry_shares" committee is calculated
|
138
139
|
And the "product_line_shares" committee is calculated
|
139
140
|
And the "industries_sectors" committee is calculated
|
140
141
|
And the "sector_shares" committee is calculated
|
141
|
-
Then the conclusion of the committee should be a vector with values "<26>,<A>,<B>,<C>,<D>"
|
142
|
+
Then the conclusion of the committee should be a vector with values "<1>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>,<19>,<2>,<20>,<21>,<22>,<23>,<24>,<25>,<26>,<3>,<4>,<44100>,<44102>,<44103>,<44104>,<44105>,<5>,<6>,<7>,<8>,<9>,<A>,<B>,<C>,<D>"
|
142
143
|
Examples:
|
143
|
-
|mcc
|
144
|
-
|
|
145
|
-
|9999| 0
|
144
|
+
| mcc|1|10|11|12|13|14|15|16|17|18|19|2|20|21|22|23|24|25| 26|3|4|44100|44102|44103|44104|44105|5|6|7|8|9| A| B| C| D|
|
145
|
+
|5812|0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0| 0| 0| 0| 0| 0| 0|1.0|0|0| 0| 0| 0| 0| 0|0|0|0|0|0| 0| 0| 0| 0|
|
146
|
+
|9999|0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0| 0| 0| 0| 0| 0| 0| 0|0|0| 0| 0| 0| 0| 0|0|0|0|0|0|0.1875|0.1875|0.0625|0.0625|
|
146
147
|
|
147
148
|
Scenario: Sector direct requirements
|
148
149
|
Given a purchase emitter
|
149
150
|
When the "sector_direct_requirements" committee is calculated
|
150
|
-
Then the conclusion of the committee should be a square matrix with "
|
151
|
+
Then the conclusion of the committee should be a square matrix with "35" rows and columns
|
151
152
|
|
152
|
-
Scenario
|
153
|
+
Scenario: Economic flows from merchant category
|
153
154
|
Given a purchase emitter
|
154
|
-
And a characteristic "merchant_category.mcc" of "
|
155
|
+
And a characteristic "merchant_category.mcc" of "5812"
|
155
156
|
And a characteristic "date" of "2010-08-01"
|
156
157
|
And a characteristic "cost" of "100"
|
157
158
|
When the "adjusted_cost" committee is calculated
|
@@ -162,14 +163,7 @@ Feature: Purchase Committee Calculations
|
|
162
163
|
And the "sector_shares" committee is calculated
|
163
164
|
And the "sector_direct_requirements" committee is calculated
|
164
165
|
And the "economic_flows" committee is calculated
|
165
|
-
Then the conclusion of the committee should be a vector with
|
166
|
-
Examples:
|
167
|
-
|mcc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26| 44100| 44101| 44102| 44103| 44104| 44105|
|
168
|
-
|3504|192.42878|190.54222|245.14686|242.78968|295.60384|292.81512|346.78566|404.30912|400.59986|465.29127|528.62004|482.35635|466.74323|468.52286|501.11032|468.42401|424.06313|393.05155|506.82714|413.31948|408.00708|380.41657|307.66401|449.85893|372.82038|836.30767|931.90473|897.58914|713.25686|712.54645|62108.49751|64007.92880|
|
169
|
-
|5111|217.60851|188.33439|240.23898|246.58722|289.15336|286.35133|338.69552|401.57566|392.30640|454.36248|510.67639|465.48678|453.29908|452.07535|479.07926|433.58397|390.81556|366.40189|414.39616|398.88015|410.43100|392.65385|319.38796|469.25412|389.47876|878.05118|979.36178|943.33243|749.79844|749.05163|65344.72371|67343.77541|
|
170
|
-
|5172|183.87087|182.06822|234.24153|231.98921|282.45806|279.79336|331.44594|386.67305|383.12559|443.95827|505.08363|460.93482|446.66308|449.71238|471.64803|451.80455|409.65115|384.25908|428.91553|462.17754|412.89024|378.40441|304.83450|439.98234|360.24151|801.81579|892.45620|859.55691|682.82806|682.14796|59460.87972|61279.36469|
|
171
|
-
|5732|183.11569|181.32043|231.15559|228.93294|278.83247|276.20197|324.59174|375.74672|372.29950|465.95439|483.12194|455.69859|419.53135|417.80920|435.45569|407.12840|367.62744|345.95575|392.16116|378.09709|388.34638|373.09854|303.76218|440.33643|377.80083|806.53673|894.12118|861.03177|683.26595|682.58541|59509.68769|61329.79292|
|
172
|
-
|5812|171.55784|169.87590|218.54218|216.44081|263.51360|261.02763|309.15838|360.69762|357.38846|414.47227|471.13666|429.92363|416.23221|419.67110|442.44048|419.01368|379.60402|362.16497|413.97706|402.64335|419.92739|407.41210|332.40488|496.30587|413.33528|951.16340|982.78937|943.83794|734.26687|733.53553|64092.82756|66054.79463|
|
166
|
+
Then the conclusion of the committee should be a vector with "35" items
|
173
167
|
|
174
168
|
Scenario Outline: Impacts committee from economic flows
|
175
169
|
Given a purchase emitter
|
@@ -186,11 +180,11 @@ Feature: Purchase Committee Calculations
|
|
186
180
|
And the "economic_flows" committee is calculated
|
187
181
|
And the "impact_vectors" committee is calculated
|
188
182
|
And the "impacts" committee is calculated
|
189
|
-
Then the conclusion of the committee should be a vector with values "<1>,<
|
183
|
+
Then the conclusion of the committee should be a vector with values "<1>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>,<19>,<2>,<20>,<21>,<22>,<23>,<24>,<25>,<26>,<3>,<4>,<44100>,<44102>,<44103>,<44104>,<44105>,<5>,<6>,<7>,<8>,<9>,<A>,<B>,<C>,<D>"
|
190
184
|
Examples:
|
191
|
-
|mcc
|
192
|
-
|3504|
|
193
|
-
|5111|
|
194
|
-
|5172|
|
195
|
-
|5732|
|
196
|
-
|5812|
|
185
|
+
| mcc|1|10|11|12|13|14|15|16|17|18|19|2|20|21|22|23|24|25| 26|3|4|44100|44102|44103|44104|44105|5|6|7|8|9| A| B| C| D|
|
186
|
+
|3504| 34.20759 | 22.83238 | 21.58704 | 71.66304 | 75.34399 | 43.05229 | 44.19605 | 24.59386 | 31.74734 | 34.23285 | 38.90812 | 50.97981 | 42.48382 | 38.68232 | 7.06766 | 14.44985 | 11.89899 | 7.95409 | 24.56535 | 75.44609 | 41.91640 | 21.38395 | 3.61236 | 20.87780 | 20.49698 | 5.33446 | 0.28203 | 2.65319 | 3.94288 | 4.60106 | 71.40280 | 24.44457 | 24.44457 | 24.56517 | 21.88041 |
|
187
|
+
|5111| 43.11882 | 14.80914 | 11.03291 | 36.54622 | 46.29633 | 26.17054 | 32.10542 | 13.52681 | 17.39109 | 19.28008 | 12.79735 | 29.46601 | 26.80161 | 25.34407 | 4.74774 | 9.84523 | 8.12740 | 5.76849 | 17.87935 | 55.05595 | 39.96103 | 15.46327 | 2.35871 | 13.67770 | 13.18761 | 4.14058 | 2.01647 | 4.80043 | 6.27992 | 12.36538 | 79.88824 | 27.42322 | 27.42322 | 27.48354 | 24.08718 |
|
188
|
+
|5172| 35.58872 | 23.75424 | 19.71380 | 65.44441 | 70.92181 | 40.52542 | 46.99530 | 26.65128 | 34.40320 | 37.53618 | 24.68486 | 55.96723 | 82.58029 | 48.39434 | 8.55823 | 16.05688 | 13.17485 | 7.93908 | 24.20801 | 72.40388 | 39.79780 | 20.18866 | 3.40454 | 19.65695 | 19.28569 | 4.97658 | 0.23634 | 2.57416 | 3.79738 | 4.40459 | 68.84678 | 23.57193 | 23.57193 | 23.68206 | 20.88125 |
|
189
|
+
|5732| 23.82496 | 38.07691 | 13.11535 | 67.43841 | 47.01503 | 26.86485 | 28.54448 | 16.48957 | 21.28581 | 23.75176 | 16.05288 | 36.48537 | 34.13793 | 33.78076 | 6.37445 | 13.50597 | 11.33464 | 10.34780 | 23.80141 | 71.08195 | 37.57537 | 19.56198 | 3.32479 | 19.24582 | 18.92542 | 4.96435 | 0.29751 | 2.39136 | 3.54334 | 4.20360 | 64.55618 | 22.09769 | 22.09769 | 22.17096 | 20.29572 |
|
190
|
+
|5812| 34.59232 | 23.08918 | 19.48251 | 64.67657 | 70.88026 | 40.50168 | 43.64568 | 25.42384 | 32.81874 | 37.49322 | 25.83877 | 58.82688 | 56.29772 | 54.71279 | 11.61328 | 25.17174 | 21.33815 | 14.31873 | 81.35713 | 123.84802 | 53.98569 | 22.37338 | 3.51343 | 20.06660 | 19.35014 | 4.96561 | 0.24528 | 2.52186 | 3.73916 | 4.34106 | 67.67328 | 23.16928 | 23.16928 | 23.27813 | 20.55662 |
|
@@ -4,29 +4,29 @@ Feature: Purchase Emissions Calculations
|
|
4
4
|
Scenario: Calculations starting from nothing
|
5
5
|
Given a purchase has nothing
|
6
6
|
When emissions are calculated
|
7
|
-
Then the emission value should be within "0.001" kgs of "
|
7
|
+
Then the emission value should be within "0.001" kgs of "756.667"
|
8
8
|
|
9
9
|
Scenario: Calculations starting from purchase amount
|
10
10
|
Given a purchase has "purchase_amount" of "107.11"
|
11
11
|
When emissions are calculated
|
12
|
-
Then the emission value should be within "0.001" kgs of "
|
12
|
+
Then the emission value should be within "0.001" kgs of "756.667"
|
13
13
|
|
14
14
|
Scenario: Calculations starting from date
|
15
15
|
Given a purchase has "date" of "2010-07-28"
|
16
16
|
When emissions are calculated
|
17
|
-
Then the emission value should be within "0.001" kgs of "
|
17
|
+
Then the emission value should be within "0.001" kgs of "756.667"
|
18
18
|
|
19
19
|
Scenario Outline: Calculations starting from a merchant
|
20
20
|
Given a purchase has "merchant.id" of "<id>"
|
21
21
|
When emissions are calculated
|
22
22
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
23
23
|
Examples:
|
24
|
-
| id | emission
|
25
|
-
| 1 |
|
26
|
-
| 2 |
|
27
|
-
| 3 |
|
28
|
-
| 4 |
|
29
|
-
| 5 |
|
24
|
+
| id | emission |
|
25
|
+
| 1 | 756.667 |
|
26
|
+
| 2 | 828.562 |
|
27
|
+
| 3 | 1158.876 |
|
28
|
+
| 4 | 1007.731 |
|
29
|
+
| 5 | 1034.378 |
|
30
30
|
|
31
31
|
Scenario Outline: Calculations starting from a merchant with purchase amount
|
32
32
|
Given a purchase has "merchant.id" of "<id>"
|
@@ -34,12 +34,12 @@ Feature: Purchase Emissions Calculations
|
|
34
34
|
When emissions are calculated
|
35
35
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
36
36
|
Examples:
|
37
|
-
| id | amount | emission
|
38
|
-
| 1 | 107.11 |
|
39
|
-
| 2 | 107.11 |
|
40
|
-
| 3 | 107.11 |
|
41
|
-
| 4 | 107.11 |
|
42
|
-
| 5 | 107.11 |
|
37
|
+
| id | amount | emission |
|
38
|
+
| 1 | 107.11 | 756.667 |
|
39
|
+
| 2 | 107.11 | 828.562 |
|
40
|
+
| 3 | 107.11 | 1158.876 |
|
41
|
+
| 4 | 107.11 | 1007.731 |
|
42
|
+
| 5 | 107.11 | 1034.378 |
|
43
43
|
|
44
44
|
Scenario Outline: Calculations starting from a merchant with purchase amount and date
|
45
45
|
Given a purchase has "merchant.id" of "<id>"
|
@@ -48,12 +48,12 @@ Feature: Purchase Emissions Calculations
|
|
48
48
|
When emissions are calculated
|
49
49
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
50
50
|
Examples:
|
51
|
-
| id | amount | date | emission
|
52
|
-
| 1 | 107.11 | 2010-07-28 |
|
53
|
-
| 2 | 107.11 | 2010-07-28 |
|
54
|
-
| 3 | 107.11 | 2010-07-28 |
|
55
|
-
| 4 | 107.11 | 2010-07-28 |
|
56
|
-
| 5 | 107.11 | 2010-07-28 |
|
51
|
+
| id | amount | date | emission |
|
52
|
+
| 1 | 107.11 | 2010-07-28 | 756.667 |
|
53
|
+
| 2 | 107.11 | 2010-07-28 | 828.562 |
|
54
|
+
| 3 | 107.11 | 2010-07-28 | 1158.876 |
|
55
|
+
| 4 | 107.11 | 2010-07-28 | 1007.731 |
|
56
|
+
| 5 | 107.11 | 2010-07-28 | 1034.378 |
|
57
57
|
|
58
58
|
Scenario Outline: Calculations starting from a merchant with purchase amount, date, and tax
|
59
59
|
Given a purchase has "merchant.id" of "<id>"
|
@@ -63,12 +63,12 @@ Feature: Purchase Emissions Calculations
|
|
63
63
|
When emissions are calculated
|
64
64
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
65
65
|
Examples:
|
66
|
-
| id | amount | tax | date | emission
|
67
|
-
| 1 | 108.00 | 8.00 | 2010-07-28 |
|
68
|
-
| 2 | 108.00 | 8.00 | 2010-07-28 |
|
69
|
-
| 3 | 108.00 | 8.00 | 2010-07-28 |
|
70
|
-
| 4 | 108.00 | 8.00 | 2010-07-28 |
|
71
|
-
| 5 | 108.00 | 8.00 | 2010-07-28 |
|
66
|
+
| id | amount | tax | date | emission |
|
67
|
+
| 1 | 108.00 | 8.00 | 2010-07-28 | 756.667 |
|
68
|
+
| 2 | 108.00 | 8.00 | 2010-07-28 | 828.562 |
|
69
|
+
| 3 | 108.00 | 8.00 | 2010-07-28 | 1158.876 |
|
70
|
+
| 4 | 108.00 | 8.00 | 2010-07-28 | 1007.731 |
|
71
|
+
| 5 | 108.00 | 8.00 | 2010-07-28 | 1034.378 |
|
72
72
|
|
73
73
|
Scenario Outline: Calculations starting from a merchant category
|
74
74
|
Given a purchase has "merchant_category.mcc" of "<mcc>"
|
@@ -77,12 +77,12 @@ Feature: Purchase Emissions Calculations
|
|
77
77
|
When emissions are calculated
|
78
78
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
79
79
|
Examples:
|
80
|
-
| mcc | cost | date | emission
|
81
|
-
| 5111 | 100.00 | 2010-07-28 |
|
82
|
-
| 5732 | 100.00 | 2010-07-28 |
|
83
|
-
| 5812 | 100.00 | 2010-07-28 |
|
84
|
-
| 3504 | 100.00 | 2010-07-28 |
|
85
|
-
| 5172 | 100.00 | 2010-07-28 |
|
80
|
+
| mcc | cost | date | emission |
|
81
|
+
| 5111 | 100.00 | 2010-07-28 | 756.667 |
|
82
|
+
| 5732 | 100.00 | 2010-07-28 | 828.562 |
|
83
|
+
| 5812 | 100.00 | 2010-07-28 | 1158.876 |
|
84
|
+
| 3504 | 100.00 | 2010-07-28 | 1007.731 |
|
85
|
+
| 5172 | 100.00 | 2010-07-28 | 1034.378 |
|
86
86
|
|
87
87
|
Scenario Outline: Calculations starting from industry
|
88
88
|
Given a purchase has "naics_code" of "<naics>"
|
@@ -92,12 +92,12 @@ Feature: Purchase Emissions Calculations
|
|
92
92
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
93
93
|
Examples:
|
94
94
|
| naics | cost | date | emission |
|
95
|
-
| 45321 | 100.00 | 2010-07-28 |
|
96
|
-
| 443112 | 100.00 | 2010-07-28 |
|
97
|
-
| 72211 | 100.00 | 2010-07-28 |
|
98
|
-
| 72111 | 100.00 | 2010-07-28 |
|
99
|
-
| 32411 | 100.00 | 2010-07-28 |
|
100
|
-
| 324121 | 100.00 | 2010-07-28 |
|
101
|
-
| 324122 | 100.00 | 2010-07-28 |
|
102
|
-
| 324191 | 100.00 | 2010-07-28 |
|
103
|
-
| 324199 | 100.00 | 2010-07-28 |
|
95
|
+
| 45321 | 100.00 | 2010-07-28 | 756.667 |
|
96
|
+
| 443112 | 100.00 | 2010-07-28 | 828.562 |
|
97
|
+
| 72211 | 100.00 | 2010-07-28 | 1158.876 |
|
98
|
+
| 72111 | 100.00 | 2010-07-28 | 1007.731 |
|
99
|
+
| 32411 | 100.00 | 2010-07-28 | 1029.897 |
|
100
|
+
| 324121 | 100.00 | 2010-07-28 | 1032.748 |
|
101
|
+
| 324122 | 100.00 | 2010-07-28 | 1029.932 |
|
102
|
+
| 324191 | 100.00 | 2010-07-28 | 1059.298 |
|
103
|
+
| 324199 | 100.00 | 2010-07-28 | 1087.243 |
|
@@ -1,3 +1,8 @@
|
|
1
|
+
Then /^the conclusion of the committee should be a vector with "(.*)" items$/ do |count|
|
2
|
+
vector = @report.conclusion
|
3
|
+
vector.size.should == count.to_i
|
4
|
+
end
|
5
|
+
|
1
6
|
Then /^the conclusion of the committee should be a vector with value "(.*)" and position for key "(.*)"$/ do |value, key|
|
2
7
|
vector = @report.conclusion
|
3
8
|
position = BrighterPlanet::Purchase.key_map.index key
|
@@ -15,7 +20,5 @@ Then /^the conclusion of the committee should be a vector with values "(.*)"$/ d
|
|
15
20
|
vector = @report.conclusion
|
16
21
|
vector = vector.row(0) if vector.is_a? Matrix #some vectors are single-row matrices
|
17
22
|
|
18
|
-
|
19
|
-
vector[index].should be_close(column_values[index].to_f, 0.00001)
|
20
|
-
end
|
23
|
+
vector.should have_column_values(column_values)
|
21
24
|
end
|
@@ -36,3 +36,31 @@ class Vector
|
|
36
36
|
str
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
RSpec::Matchers.define :have_column_values do |_expected_|
|
41
|
+
match do |actual|
|
42
|
+
ok = true
|
43
|
+
BrighterPlanet::Purchase.key_map.each_with_index do |key, index|
|
44
|
+
ok = ok && (actual[index] - _expected_[index].to_f).abs < 0.00001
|
45
|
+
end
|
46
|
+
ok
|
47
|
+
end
|
48
|
+
|
49
|
+
failure_message_for_should do |actual|
|
50
|
+
message = nil
|
51
|
+
BrighterPlanet::Purchase.key_map.each_with_index do |key, index|
|
52
|
+
unless (actual[index] - _expected_[index].to_f).abs < 0.00001
|
53
|
+
message = "expected vector at position #{key} to be #{_expected_[index]} +/- (< 0.00001), got #{actual[index]}:"
|
54
|
+
end
|
55
|
+
end
|
56
|
+
message
|
57
|
+
end
|
58
|
+
|
59
|
+
failure_message_for_should_not do |actual|
|
60
|
+
"expected #{_expected_} +/- (< #{_delta_}), got #{actual}"
|
61
|
+
end
|
62
|
+
|
63
|
+
description do
|
64
|
+
"be close to #{_expected_} (within +- #{_delta_})"
|
65
|
+
end
|
66
|
+
end
|
@@ -13,44 +13,48 @@ module BrighterPlanet
|
|
13
13
|
|
14
14
|
def data
|
15
15
|
matrix_text = <<-MATRIX
|
16
|
-
| X| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26|44100|
|
17
|
-
| 1|0.81| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
18
|
-
| 2| 0|0.546| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
19
|
-
| 3| 0| 0|0.358| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
20
|
-
| 4| 0| 0| 0|1.2| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
21
|
-
| 5| 0| 0| 0| 0|1.08| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
22
|
-
| 6| 0| 0| 0| 0| 0|0.623| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
23
|
-
| 7| 0| 0| 0| 0| 0| 0|0.567| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
24
|
-
| 8| 0| 0| 0| 0| 0| 0| 0|0.284| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
25
|
-
| 9| 0| 0| 0| 0| 0| 0| 0| 0|0.37| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
26
|
-
| 10| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.362| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
27
|
-
| 11| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.22| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
28
|
-
| 12| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.549| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
29
|
-
| 13| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.544| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
30
|
-
| 14| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.535| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
31
|
-
| 15| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.101| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
32
|
-
| 16| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.245| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
33
|
-
| 17| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.23| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
34
|
-
| 18| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.186| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
35
|
-
| 19| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.559| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
36
|
-
| 20| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|2.0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
37
|
-
| 21| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.3| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
38
|
-
| 22| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.9| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
39
|
-
| 23| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.2| 0| 0| 0| 0| 0| 0| 0| 0|
|
40
|
-
| 24| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.2| 0| 0| 0| 0| 0| 0| 0|
|
41
|
-
| 25| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.6| 0| 0| 0| 0| 0| 0|
|
42
|
-
| 26| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.8| 0| 0| 0| 0| 0|
|
43
|
-
|44100| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0.7| 0| 0| 0| 0|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
16
|
+
| X| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26|44100|44102|44103|44104|44105| A| B| C| D|
|
17
|
+
| 1|0.81| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
18
|
+
| 2| 0|0.546| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
19
|
+
| 3| 0| 0|0.358| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
20
|
+
| 4| 0| 0| 0|1.2| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
21
|
+
| 5| 0| 0| 0| 0|1.08| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
22
|
+
| 6| 0| 0| 0| 0| 0|0.623| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
23
|
+
| 7| 0| 0| 0| 0| 0| 0|0.567| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
24
|
+
| 8| 0| 0| 0| 0| 0| 0| 0|0.284| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
25
|
+
| 9| 0| 0| 0| 0| 0| 0| 0| 0|0.37| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
26
|
+
| 10| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.362| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
27
|
+
| 11| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.22| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
28
|
+
| 12| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.549| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
29
|
+
| 13| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.544| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
30
|
+
| 14| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.535| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
31
|
+
| 15| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.101| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
32
|
+
| 16| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.245| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
33
|
+
| 17| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.23| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
34
|
+
| 18| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.186| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
35
|
+
| 19| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.559| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
36
|
+
| 20| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|2.0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
37
|
+
| 21| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.3| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
38
|
+
| 22| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.9| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
39
|
+
| 23| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.2| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
40
|
+
| 24| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.2| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
41
|
+
| 25| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.6| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
42
|
+
| 26| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.8| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
43
|
+
|44100| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0.7| 0| 0| 0| 0| 0| 0| 0| 0|
|
44
|
+
|44102| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0.7| 0| 0| 0| 0| 0| 0| 0|
|
45
|
+
|44103| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 1.2| 0| 0| 0| 0| 0| 0|
|
46
|
+
|44104| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 1.4| 0| 0| 0| 0| 0|
|
47
|
+
|44105| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0.3| 0| 0| 0| 0|
|
48
|
+
| A| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.1| 0| 0| 0|
|
49
|
+
| B| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.1| 0| 0|
|
50
|
+
| C| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.1| 0|
|
51
|
+
| D| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.1|
|
52
|
+
|
49
53
|
MATRIX
|
50
54
|
lines = matrix_text.split(/\n/)
|
51
55
|
lines.shift
|
52
56
|
lines.map do |line|
|
53
|
-
row = line.scan(/[
|
57
|
+
row = line.scan(/[^\s^|]+/).map(&:to_f)
|
54
58
|
row.shift
|
55
59
|
row
|
56
60
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: purchase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 1
|
10
|
+
version: 1.0.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andy Rossmeissl
|
@@ -19,7 +19,7 @@ autorequire:
|
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
21
|
|
22
|
-
date: 2010-09-
|
22
|
+
date: 2010-09-20 00:00:00 -04:00
|
23
23
|
default_executable:
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|
@@ -31,13 +31,12 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - ~>
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
hash:
|
34
|
+
hash: 7
|
35
35
|
segments:
|
36
36
|
- 3
|
37
37
|
- 0
|
38
38
|
- 0
|
39
|
-
|
40
|
-
version: 3.0.0.beta4
|
39
|
+
version: 3.0.0
|
41
40
|
requirement: *id001
|
42
41
|
- !ruby/object:Gem::Dependency
|
43
42
|
type: :development
|
@@ -48,14 +47,12 @@ dependencies:
|
|
48
47
|
requirements:
|
49
48
|
- - ~>
|
50
49
|
- !ruby/object:Gem::Version
|
51
|
-
hash:
|
50
|
+
hash: 23
|
52
51
|
segments:
|
53
52
|
- 1
|
54
53
|
- 0
|
55
54
|
- 0
|
56
|
-
|
57
|
-
- 2
|
58
|
-
version: 1.0.0.beta.2
|
55
|
+
version: 1.0.0
|
59
56
|
requirement: *id002
|
60
57
|
- !ruby/object:Gem::Dependency
|
61
58
|
type: :development
|
@@ -144,12 +141,12 @@ dependencies:
|
|
144
141
|
requirements:
|
145
142
|
- - ~>
|
146
143
|
- !ruby/object:Gem::Version
|
147
|
-
hash:
|
144
|
+
hash: 59
|
148
145
|
segments:
|
149
146
|
- 0
|
150
147
|
- 1
|
151
|
-
-
|
152
|
-
version: 0.1.
|
148
|
+
- 16
|
149
|
+
version: 0.1.16
|
153
150
|
requirement: *id008
|
154
151
|
- !ruby/object:Gem::Dependency
|
155
152
|
type: :runtime
|
@@ -160,12 +157,12 @@ dependencies:
|
|
160
157
|
requirements:
|
161
158
|
- - ~>
|
162
159
|
- !ruby/object:Gem::Version
|
163
|
-
hash:
|
160
|
+
hash: 5
|
164
161
|
segments:
|
165
162
|
- 0
|
166
163
|
- 0
|
167
|
-
-
|
168
|
-
version: 0.0.
|
164
|
+
- 13
|
165
|
+
version: 0.0.13
|
169
166
|
requirement: *id009
|
170
167
|
description: A software model in Ruby for the greenhouse gas emissions of a purchase
|
171
168
|
email: seamus@brighterplanet.com
|