openstudio-analysis 0.1.16 → 0.1.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/openstudio/analysis/server_api.rb +59 -62
- data/lib/openstudio/analysis/translator/excel.rb +186 -189
- data/lib/openstudio/analysis/version.rb +1 -1
- data/lib/openstudio/helpers/string.rb +4 -5
- data/spec/files/analysis/medium_office.json +192 -192
- data/spec/files/analysis/medium_office.zip +0 -0
- data/spec/files/export/analysis/Kats model v2.json +16 -16
- data/spec/files/export/analysis/Kats model v2.zip +0 -0
- data/spec/files/export/analysis/discrete_dynamic_seed.json +16 -16
- data/spec/files/export/analysis/discrete_dynamic_seed.zip +0 -0
- data/spec/files/export/analysis/discrete_seed.json +91 -91
- data/spec/files/export/analysis/discrete_seed.zip +0 -0
- data/spec/files/export/analysis/output_vars.json +83 -83
- data/spec/files/export/analysis/output_vars.zip +0 -0
- data/spec/files/export/analysis/small_seed.json +83 -83
- data/spec/files/export/analysis/small_seed.zip +0 -0
- data/spec/files/measures/IncreaseInsulationRValueForRoofs/measure.rb +372 -375
- data/spec/openstudio/analysis/server_api_spec.rb +6 -6
- data/spec/openstudio/analysis/translator/excel_spec.rb +182 -188
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.65.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.66.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.67.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.65.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.66.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.67.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.65.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.66.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.67.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.23.xml +18 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.24.xml +18 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.25.xml +18 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.7.xml +17 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.8.xml +17 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.9.xml +17 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.65.xml +20 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.66.xml +20 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.67.xml +20 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.31.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.32.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.33.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.37.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.38.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.39.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.17.xml +36 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.18.xml +36 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.19.xml +36 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.14.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.15.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.16.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.65.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.66.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.67.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.65.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.66.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.67.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.65.xml +23 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.66.xml +23 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.67.xml +23 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.65.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.66.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.67.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.14.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.15.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.16.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.0.xml +19 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.1.xml +19 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.xml +19 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.0.xml +32 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.1.xml +32 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.2.xml +32 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.65.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.66.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.67.xml +7 -0
- data/spec/spec_helper.rb +1 -3
- metadata +127 -19
@@ -1,19 +1,19 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe OpenStudio::Analysis::ServerApi do
|
4
|
-
context
|
4
|
+
context 'create a new localhost instance' do
|
5
5
|
before(:all) do
|
6
6
|
@api = OpenStudio::Analysis::ServerApi.new
|
7
7
|
end
|
8
8
|
|
9
|
-
it
|
10
|
-
expect(@api.hostname).to eq(
|
9
|
+
it 'should set the default host to localhost' do
|
10
|
+
expect(@api.hostname).to eq('http://localhost:8080')
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
context
|
15
|
-
it
|
16
|
-
options = {hostname:
|
14
|
+
context 'test not localhost' do
|
15
|
+
it 'should have a not localhost URL' do
|
16
|
+
options = { hostname: 'http://abc.def.ghi' }
|
17
17
|
api = OpenStudio::Analysis::ServerApi.new(options)
|
18
18
|
expect(api.hostname).to eq(options[:hostname])
|
19
19
|
end
|
@@ -1,347 +1,341 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe OpenStudio::Analysis::Translator::Excel do
|
4
|
-
context
|
5
|
-
let(:path) {
|
6
|
-
|
4
|
+
context 'no variables defined' do
|
5
|
+
let(:path) { 'spec/files/no_variables.xlsx' }
|
6
|
+
|
7
7
|
before(:each) do
|
8
8
|
@excel = OpenStudio::Analysis::Translator::Excel.new(path)
|
9
9
|
end
|
10
|
-
|
11
|
-
it
|
12
|
-
expect(@excel.measure_path).to eq(
|
10
|
+
|
11
|
+
it 'should have measure path' do
|
12
|
+
expect(@excel.measure_path).to eq('./measures')
|
13
13
|
end
|
14
|
-
|
15
|
-
it
|
14
|
+
|
15
|
+
it 'should have excel data' do
|
16
16
|
puts @excel
|
17
17
|
expect(@excel).not_to be_nil
|
18
18
|
end
|
19
|
-
|
20
|
-
it
|
19
|
+
|
20
|
+
it 'should process the excel file' do
|
21
21
|
expect(@excel.process).to eq(true)
|
22
|
-
|
22
|
+
|
23
23
|
# after processing the measures directory should be what is in the excel file
|
24
|
-
expect(@excel.measure_path).to eq(File.expand_path(File.join(
|
24
|
+
expect(@excel.measure_path).to eq(File.expand_path(File.join('spec', 'files', 'measures')))
|
25
25
|
end
|
26
|
-
|
27
|
-
it
|
28
|
-
#old_path = @excel.measure_path
|
29
|
-
|
26
|
+
|
27
|
+
it 'should not work because no variables defined' do
|
28
|
+
# old_path = @excel.measure_path
|
29
|
+
# @excel.measure_path = "path/does/not/exist"
|
30
30
|
#
|
31
31
|
end
|
32
|
-
|
33
|
-
it
|
32
|
+
|
33
|
+
it 'should not export to a JSON' do
|
34
34
|
@excel.process
|
35
35
|
expect { @excel.save_analysis }.to raise_error("Argument 'r_value' did not process. Most likely it did not have all parameters defined.")
|
36
36
|
end
|
37
37
|
end
|
38
|
-
|
39
|
-
context
|
38
|
+
|
39
|
+
context 'small list of incomplete variables' do
|
40
40
|
before(:all) do
|
41
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
41
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/small_list_incomplete.xlsx')
|
42
42
|
end
|
43
|
-
|
44
|
-
it
|
45
|
-
expect { @excel.process }.to raise_error(
|
43
|
+
|
44
|
+
it 'should fail to process' do
|
45
|
+
expect { @excel.process }.to raise_error('Variable adjust_thermostat_setpoints_by_degrees:cooling_adjustment must have a mean')
|
46
46
|
end
|
47
47
|
end
|
48
|
-
|
49
|
-
context
|
48
|
+
|
49
|
+
context 'small list with with repeated variable names' do
|
50
50
|
before(:all) do
|
51
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
51
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/small_list_repeat_vars.xlsx')
|
52
52
|
end
|
53
|
-
|
54
|
-
it
|
53
|
+
|
54
|
+
it 'should fail to process' do
|
55
55
|
expect { @excel.process }.to raise_error("duplicate variable names found in list [\"Insulation R-value (ft^2*h*R/Btu).\"]")
|
56
56
|
end
|
57
57
|
end
|
58
|
-
|
59
|
-
context
|
58
|
+
|
59
|
+
context 'small list of variables should not validate' do
|
60
60
|
before(:all) do
|
61
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
61
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/small_list_validation_errors.xlsx')
|
62
62
|
end
|
63
|
-
|
64
|
-
it
|
65
|
-
expect { @excel.process }.to raise_error(
|
63
|
+
|
64
|
+
it 'should fail to process' do
|
65
|
+
expect { @excel.process }.to raise_error('Variable min is greater than variable max for adjust_thermostat_setpoints_by_degrees:heating_adjustment')
|
66
66
|
end
|
67
67
|
end
|
68
|
-
|
69
|
-
context
|
68
|
+
|
69
|
+
context 'small list of variables' do
|
70
70
|
before(:all) do
|
71
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
71
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/small_list.xlsx')
|
72
72
|
@excel.process
|
73
73
|
end
|
74
|
-
it
|
74
|
+
it 'should have a model' do
|
75
75
|
expect(@excel.models.first).not_to be_nil
|
76
|
-
expect(@excel.models.first[:name]).to eq(
|
76
|
+
expect(@excel.models.first[:name]).to eq('small_seed')
|
77
77
|
end
|
78
|
-
|
79
|
-
it
|
78
|
+
|
79
|
+
it 'should have a weather file' do
|
80
80
|
expect(@excel.weather_files.first).not_to be_nil
|
81
81
|
puts @excel.weather_files.first
|
82
|
-
expect(@excel.weather_files.first.include?(
|
82
|
+
expect(@excel.weather_files.first.include?('partial_weather.epw')).to eq(true)
|
83
83
|
end
|
84
|
-
|
85
|
-
it
|
84
|
+
|
85
|
+
it 'should have notes and source' do
|
86
86
|
@excel.variables['data'].each do |measure|
|
87
87
|
measure['variables'].each do |var|
|
88
88
|
if var['machine_name'] == 'lighting_power_reduction'
|
89
|
-
expect(var['distribution']['source']).to eq(
|
89
|
+
expect(var['distribution']['source']).to eq('some data source')
|
90
90
|
elsif var['machine_name'] == 'demo_cost_initial_const'
|
91
|
-
expect(var['notes']).to eq(
|
91
|
+
expect(var['notes']).to eq('some note')
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
95
95
|
end
|
96
|
-
|
97
|
-
it
|
96
|
+
|
97
|
+
it 'should write a json' do
|
98
98
|
@excel.save_analysis
|
99
|
-
expect(File).to exist(
|
100
|
-
expect(File).to exist(
|
101
|
-
|
102
|
-
expect(JSON.parse(File.read(
|
103
|
-
|
99
|
+
expect(File).to exist('spec/files/export/analysis/small_seed.json')
|
100
|
+
expect(File).to exist('spec/files/export/analysis/small_seed.zip')
|
101
|
+
|
102
|
+
expect(JSON.parse(File.read('spec/files/export/analysis/small_seed.json'))).not_to be_nil
|
103
|
+
|
104
104
|
end
|
105
105
|
end
|
106
|
-
|
107
|
-
context
|
106
|
+
|
107
|
+
context 'setup version 0.1.9' do
|
108
108
|
before(:all) do
|
109
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
109
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/setup_version_2.xlsx')
|
110
110
|
@excel.process
|
111
111
|
end
|
112
|
-
|
113
|
-
it
|
114
|
-
expect(@excel.version).to eq(
|
115
|
-
expect(@excel.machine_name).to eq(
|
116
|
-
end
|
117
|
-
it
|
118
|
-
expect(@excel.settings[
|
119
|
-
end
|
120
|
-
|
121
|
-
it
|
122
|
-
expect(@excel.algorithm[
|
123
|
-
expect(@excel.algorithm[
|
124
|
-
expect(@excel.algorithm[
|
125
|
-
expect(@excel.algorithm[
|
126
|
-
expect(@excel.algorithm[
|
127
|
-
expect(@excel.algorithm[
|
128
|
-
|
129
|
-
end
|
130
|
-
|
131
|
-
it
|
112
|
+
|
113
|
+
it 'should have a version and machine name' do
|
114
|
+
expect(@excel.version).to eq('0.1.9')
|
115
|
+
expect(@excel.machine_name).to eq('example_analysis')
|
116
|
+
end
|
117
|
+
it 'should have the new settings' do
|
118
|
+
expect(@excel.settings['server_instance_type']).to eq('m2.xlarge')
|
119
|
+
end
|
120
|
+
|
121
|
+
it 'should have algorithm setup' do
|
122
|
+
expect(@excel.algorithm['number_of_samples']).to eq(100)
|
123
|
+
expect(@excel.algorithm['number_of_generations']).to eq(20)
|
124
|
+
expect(@excel.algorithm['sample_method']).to eq('all_variables')
|
125
|
+
expect(@excel.algorithm['number_of_generations']).to be_a Integer
|
126
|
+
expect(@excel.algorithm['tolerance']).to eq(0.115)
|
127
|
+
expect(@excel.algorithm['tolerance']).to be_a Float
|
128
|
+
|
129
|
+
end
|
130
|
+
|
131
|
+
it 'should create a valid hash' do
|
132
132
|
h = @excel.create_analysis_hash
|
133
|
-
|
134
|
-
expect(h['analysis']['problem']['analysis_type']).to eq(
|
133
|
+
|
134
|
+
expect(h['analysis']['problem']['analysis_type']).to eq('lhs')
|
135
135
|
expect(h['analysis']['problem']['algorithm']).not_to be_nil
|
136
136
|
expect(h['analysis']['problem']['algorithm']['number_of_samples']).to eq(100)
|
137
|
-
expect(h['analysis']['problem']['algorithm']['sample_method']).to eq(
|
137
|
+
expect(h['analysis']['problem']['algorithm']['sample_method']).to eq('all_variables')
|
138
138
|
end
|
139
139
|
end
|
140
|
-
|
141
|
-
context
|
140
|
+
|
141
|
+
context 'proxy setup' do
|
142
142
|
before(:all) do
|
143
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
143
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/proxy.xlsx')
|
144
144
|
@excel.process
|
145
145
|
end
|
146
|
-
|
147
|
-
it
|
148
|
-
expect(@excel.settings[
|
149
|
-
expect(@excel.settings[
|
150
|
-
expect(@excel.settings[
|
151
|
-
|
146
|
+
|
147
|
+
it 'should have a proxy setting' do
|
148
|
+
expect(@excel.settings['proxy_host']).to eq('192.168.0.1')
|
149
|
+
expect(@excel.settings['proxy_port']).to eq(8080)
|
150
|
+
expect(@excel.settings['proxy_username']).to be_nil
|
151
|
+
|
152
152
|
end
|
153
153
|
end
|
154
|
-
|
155
|
-
context
|
154
|
+
|
155
|
+
context 'proxy setup with user' do
|
156
156
|
before(:all) do
|
157
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
157
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/proxy_user.xlsx')
|
158
158
|
@excel.process
|
159
159
|
end
|
160
|
-
|
161
|
-
it
|
162
|
-
expect(@excel.settings[
|
163
|
-
expect(@excel.settings[
|
164
|
-
expect(@excel.settings[
|
160
|
+
|
161
|
+
it 'should have a user' do
|
162
|
+
expect(@excel.settings['proxy_host']).to eq('192.168.0.1')
|
163
|
+
expect(@excel.settings['proxy_port']).to eq(8080)
|
164
|
+
expect(@excel.settings['proxy_username']).to eq('a_user')
|
165
165
|
end
|
166
166
|
end
|
167
|
-
|
168
|
-
context
|
167
|
+
|
168
|
+
context 'discrete variables' do
|
169
169
|
before(:all) do
|
170
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
170
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/discrete_variables.xlsx')
|
171
171
|
@excel.process
|
172
172
|
end
|
173
|
-
|
174
|
-
it
|
173
|
+
|
174
|
+
it 'should have parsed the spreadsheet' do
|
175
175
|
@excel.variables['data'].each do |measure|
|
176
176
|
measure['variables'].each do |var|
|
177
|
-
|
177
|
+
|
178
178
|
end
|
179
179
|
end
|
180
180
|
end
|
181
|
-
|
182
|
-
it
|
181
|
+
|
182
|
+
it 'should save the file' do
|
183
183
|
@excel.save_analysis
|
184
184
|
end
|
185
185
|
end
|
186
|
-
|
187
|
-
context
|
186
|
+
|
187
|
+
context 'discrete with dynamic columns' do
|
188
188
|
before(:all) do
|
189
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
189
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/discrete_dynamic_columns.xlsx')
|
190
190
|
@excel.process
|
191
191
|
end
|
192
|
-
|
193
|
-
it
|
192
|
+
|
193
|
+
it 'should have parsed the spreadsheet' do
|
194
194
|
@excel.variables['data'].each do |measure|
|
195
195
|
measure['variables'].each do |var|
|
196
196
|
puts var.inspect
|
197
197
|
end
|
198
198
|
end
|
199
199
|
end
|
200
|
-
|
201
|
-
it
|
200
|
+
|
201
|
+
it 'should save the file' do
|
202
202
|
@excel.save_analysis
|
203
203
|
end
|
204
204
|
end
|
205
|
-
|
206
|
-
context
|
205
|
+
|
206
|
+
context 'setup output variables' do
|
207
207
|
before(:all) do
|
208
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
208
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/outputvars.xlsx')
|
209
209
|
@excel.process
|
210
210
|
end
|
211
|
-
|
212
|
-
it
|
211
|
+
|
212
|
+
it 'should have a model' do
|
213
213
|
expect(@excel.models.first).not_to be_nil
|
214
|
-
expect(@excel.models.first[:name]).to eq(
|
214
|
+
expect(@excel.models.first[:name]).to eq('output_vars')
|
215
215
|
end
|
216
|
-
|
217
|
-
it
|
216
|
+
|
217
|
+
it 'should have a weather file' do
|
218
218
|
expect(@excel.weather_files.first).not_to be_nil
|
219
219
|
puts @excel.weather_files.first
|
220
|
-
expect(@excel.weather_files.first.include?(
|
220
|
+
expect(@excel.weather_files.first.include?('partial_weather.epw')).to eq(true)
|
221
221
|
end
|
222
|
-
|
223
|
-
it
|
222
|
+
|
223
|
+
it 'should have notes and source' do
|
224
224
|
@excel.variables['data'].each do |measure|
|
225
225
|
measure['variables'].each do |var|
|
226
226
|
if var['machine_name'] == 'lighting_power_reduction'
|
227
|
-
expect(var['distribution']['source']).to eq(
|
227
|
+
expect(var['distribution']['source']).to eq('some data source')
|
228
228
|
elsif var['machine_name'] == 'demo_cost_initial_const'
|
229
|
-
expect(var['notes']).to eq(
|
229
|
+
expect(var['notes']).to eq('some note')
|
230
230
|
end
|
231
231
|
end
|
232
232
|
end
|
233
233
|
end
|
234
|
-
|
235
|
-
it
|
234
|
+
|
235
|
+
it 'should have typed booleans' do
|
236
236
|
expect(@excel.run_setup['use_server_as_worker']).to eq(true)
|
237
237
|
expect(@excel.run_setup['allow_multiple_jobs']).to eq(true)
|
238
238
|
end
|
239
|
-
|
240
|
-
it
|
241
|
-
expect(@excel.algorithm[
|
242
|
-
expect(@excel.algorithm[
|
243
|
-
expect(@excel.algorithm[
|
244
|
-
expect(@excel.algorithm[
|
245
|
-
#expect(@excel.algorithm["tolerance"]).to eq(0.115)
|
246
|
-
#expect(@excel.algorithm["tolerance"]).to be_a Float
|
247
|
-
|
248
|
-
end
|
249
|
-
|
250
|
-
it
|
239
|
+
|
240
|
+
it 'should have algorithm setup' do
|
241
|
+
expect(@excel.algorithm['number_of_samples']).to eq(100)
|
242
|
+
expect(@excel.algorithm['number_of_generations']).to eq(20)
|
243
|
+
expect(@excel.algorithm['sample_method']).to eq('all_variables')
|
244
|
+
expect(@excel.algorithm['number_of_generations']).to be_a Integer
|
245
|
+
# expect(@excel.algorithm["tolerance"]).to eq(0.115)
|
246
|
+
# expect(@excel.algorithm["tolerance"]).to be_a Float
|
247
|
+
|
248
|
+
end
|
249
|
+
|
250
|
+
it 'should create a valid hash' do
|
251
251
|
h = @excel.create_analysis_hash
|
252
|
-
|
253
|
-
expect(h['analysis']['problem']['analysis_type']).to eq(
|
252
|
+
|
253
|
+
expect(h['analysis']['problem']['analysis_type']).to eq('nsga')
|
254
254
|
expect(h['analysis']['problem']['algorithm']).not_to be_nil
|
255
255
|
expect(h['analysis']['problem']['algorithm']['number_of_samples']).to eq(100)
|
256
|
-
expect(h['analysis']['problem']['algorithm']['sample_method']).to eq(
|
256
|
+
expect(h['analysis']['problem']['algorithm']['sample_method']).to eq('all_variables')
|
257
257
|
end
|
258
|
-
|
259
|
-
|
260
|
-
it "should write a json" do
|
258
|
+
|
259
|
+
it 'should write a json' do
|
261
260
|
@excel.save_analysis
|
262
|
-
expect(File).to exist(
|
263
|
-
expect(File).to exist(
|
264
|
-
|
265
|
-
expect(JSON.parse(File.read(
|
266
|
-
|
261
|
+
expect(File).to exist('spec/files/export/analysis/output_vars.json')
|
262
|
+
expect(File).to exist('spec/files/export/analysis/output_vars.zip')
|
263
|
+
|
264
|
+
expect(JSON.parse(File.read('spec/files/export/analysis/output_vars.json'))).not_to be_nil
|
265
|
+
|
267
266
|
end
|
268
267
|
end
|
269
|
-
|
270
|
-
context
|
268
|
+
|
269
|
+
context 'version 0.1.10' do
|
271
270
|
before(:all) do
|
272
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
271
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/template_input_0.1.10.xlsx')
|
273
272
|
end
|
274
|
-
|
275
|
-
it
|
273
|
+
|
274
|
+
it 'should process' do
|
276
275
|
expect(@excel.process).to eq(true)
|
277
276
|
end
|
278
|
-
|
279
|
-
it
|
277
|
+
|
278
|
+
it 'should have new setting variables' do
|
280
279
|
puts @excel.settings.inspect
|
281
|
-
expect(@excel.settings[
|
282
|
-
expect(@excel.settings[
|
280
|
+
expect(@excel.settings['user_id']).to eq('new_user')
|
281
|
+
expect(@excel.settings['openstudio_server_version']).to eq('1.3.2')
|
283
282
|
expect(@excel.cluster_name).to eq('analysis_cluster')
|
284
283
|
puts @excel.run_setup.inspect
|
285
|
-
expect(@excel.run_setup[
|
284
|
+
expect(@excel.run_setup['analysis_name']).to eq('LHS Example Project')
|
286
285
|
end
|
287
286
|
end
|
288
|
-
|
289
|
-
context
|
287
|
+
|
288
|
+
context 'version 0.2.0' do
|
290
289
|
before(:all) do
|
291
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
290
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/template_0_2_0.xlsx')
|
292
291
|
end
|
293
|
-
|
294
|
-
it
|
292
|
+
|
293
|
+
it 'should process' do
|
295
294
|
expect(@excel.process).to eq(true)
|
296
295
|
end
|
297
|
-
|
298
|
-
it
|
296
|
+
|
297
|
+
it 'should have new setting variables' do
|
299
298
|
puts @excel.settings.inspect
|
300
|
-
expect(@excel.settings[
|
301
|
-
expect(@excel.settings[
|
299
|
+
expect(@excel.settings['user_id']).to eq('new_user')
|
300
|
+
expect(@excel.settings['openstudio_server_version']).to eq('1.3.2')
|
302
301
|
expect(@excel.cluster_name).to eq('analysis_cluster_name')
|
303
302
|
puts @excel.run_setup.inspect
|
304
|
-
expect(@excel.run_setup[
|
303
|
+
expect(@excel.run_setup['analysis_name']).to eq('Name goes here')
|
305
304
|
end
|
306
|
-
|
307
|
-
it
|
305
|
+
|
306
|
+
it 'should have the new measure directory column' do
|
308
307
|
expect(@excel.variables['data'][1]['measure_file_name_directory']).to eq('ReduceLightingLoadsByPercentage')
|
309
308
|
end
|
310
|
-
|
311
|
-
it
|
312
|
-
|
309
|
+
|
310
|
+
it 'should write a json' do
|
311
|
+
@excel.save_analysis
|
313
312
|
end
|
314
313
|
end
|
315
314
|
|
316
|
-
context
|
315
|
+
context 'version 0.2.0 simple' do
|
317
316
|
before(:all) do
|
318
|
-
@excel = OpenStudio::Analysis::Translator::Excel.new(
|
317
|
+
@excel = OpenStudio::Analysis::Translator::Excel.new('spec/files/template_0_2_0_simpletest.xlsx')
|
319
318
|
end
|
320
319
|
|
321
|
-
it
|
320
|
+
it 'should process' do
|
322
321
|
expect(@excel.process).to eq(true)
|
323
322
|
end
|
324
323
|
|
325
|
-
it
|
324
|
+
it 'should have new setting variables' do
|
326
325
|
puts @excel.settings.inspect
|
327
|
-
expect(@excel.settings[
|
328
|
-
expect(@excel.settings[
|
326
|
+
expect(@excel.settings['user_id']).to eq('new_user')
|
327
|
+
expect(@excel.settings['openstudio_server_version']).to eq('1.3.2')
|
329
328
|
puts @excel.run_setup.inspect
|
330
329
|
end
|
331
330
|
|
332
|
-
it
|
331
|
+
it 'should have the new measure directory column' do
|
333
332
|
expect(@excel.variables['data'][1]['measure_file_name_directory']).to eq('AdjustThermostatSetpointsByDegrees')
|
334
333
|
expect(@excel.variables['data'][0]['measure_file_name_directory']).to eq('baseline')
|
335
334
|
end
|
336
335
|
|
337
|
-
it
|
336
|
+
it 'should write a json' do
|
338
337
|
@excel.save_analysis
|
339
338
|
end
|
340
339
|
end
|
341
340
|
|
342
|
-
|
343
|
-
|
344
341
|
end
|
345
|
-
|
346
|
-
|
347
|
-
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="OpenStudio::Analysis::ServerApi create a new localhost instance" tests="1" time="0.007202" failures="0" errors="0" skipped="0" timestamp="2014-04-28T23:21:40-06:00">
|
3
|
+
<testcase name="OpenStudio::Analysis::ServerApi create a new localhost instance should set the default host to localhost" time="0.000942">
|
4
|
+
</testcase>
|
5
|
+
<system-out>
|
6
|
+
</system-out>
|
7
|
+
<system-err>
|
8
|
+
</system-err>
|
9
|
+
</testsuite>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="OpenStudio::Analysis::ServerApi create a new localhost instance" tests="1" time="0.004394" failures="0" errors="0" skipped="0" timestamp="2014-04-29T00:50:44-06:00">
|
3
|
+
<testcase name="OpenStudio::Analysis::ServerApi create a new localhost instance should set the default host to localhost" time="0.000538">
|
4
|
+
</testcase>
|
5
|
+
<system-out>
|
6
|
+
</system-out>
|
7
|
+
<system-err>
|
8
|
+
</system-err>
|
9
|
+
</testsuite>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="OpenStudio::Analysis::ServerApi create a new localhost instance" tests="1" time="0.006187" failures="0" errors="0" skipped="0" timestamp="2014-04-29T00:55:44-06:00">
|
3
|
+
<testcase name="OpenStudio::Analysis::ServerApi create a new localhost instance should set the default host to localhost" time="0.000486">
|
4
|
+
</testcase>
|
5
|
+
<system-out>
|
6
|
+
</system-out>
|
7
|
+
<system-err>
|
8
|
+
</system-err>
|
9
|
+
</testsuite>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="OpenStudio::Analysis::ServerApi test not localhost" tests="1" time="0.000614" failures="0" errors="0" skipped="0" timestamp="2014-04-28T23:21:40-06:00">
|
3
|
+
<testcase name="OpenStudio::Analysis::ServerApi test not localhost should have a not localhost URL" time="0.000357">
|
4
|
+
</testcase>
|
5
|
+
<system-out>
|
6
|
+
</system-out>
|
7
|
+
<system-err>
|
8
|
+
</system-err>
|
9
|
+
</testsuite>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="OpenStudio::Analysis::ServerApi test not localhost" tests="1" time="0.000617" failures="0" errors="0" skipped="0" timestamp="2014-04-29T00:50:44-06:00">
|
3
|
+
<testcase name="OpenStudio::Analysis::ServerApi test not localhost should have a not localhost URL" time="0.000339">
|
4
|
+
</testcase>
|
5
|
+
<system-out>
|
6
|
+
</system-out>
|
7
|
+
<system-err>
|
8
|
+
</system-err>
|
9
|
+
</testsuite>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="OpenStudio::Analysis::ServerApi test not localhost" tests="1" time="0.00074" failures="0" errors="0" skipped="0" timestamp="2014-04-29T00:55:44-06:00">
|
3
|
+
<testcase name="OpenStudio::Analysis::ServerApi test not localhost should have a not localhost URL" time="0.000463">
|
4
|
+
</testcase>
|
5
|
+
<system-out>
|
6
|
+
</system-out>
|
7
|
+
<system-err>
|
8
|
+
</system-err>
|
9
|
+
</testsuite>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="OpenStudio::Analysis::ServerApi" tests="0" time="0.000174" failures="0" errors="0" skipped="0" timestamp="2014-04-28T23:21:40-06:00">
|
3
|
+
<system-out>
|
4
|
+
</system-out>
|
5
|
+
<system-err>
|
6
|
+
</system-err>
|
7
|
+
</testsuite>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<testsuite name="OpenStudio::Analysis::ServerApi" tests="0" time="0.000154" failures="0" errors="0" skipped="0" timestamp="2014-04-29T00:50:44-06:00">
|
3
|
+
<system-out>
|
4
|
+
</system-out>
|
5
|
+
<system-err>
|
6
|
+
</system-err>
|
7
|
+
</testsuite>
|