Class: FromHoneybeeSimulationParameter_Test
- Inherits:
-
Minitest::Test
- Object
- Minitest::Test
- FromHoneybeeSimulationParameter_Test
- Defined in:
- lib/measures/from_honeybee_simulation_parameter/tests/from_honeybee_simulation_parameter_test.rb
Instance Method Summary collapse
-
#apply_measure_to_model(test_name, args, model_name = nil, result_value = 'Success', warnings_count = 0, info_count = nil) ⇒ Object
method to apply arguments, run measure, and assert results (only populate args hash with non-default argument values).
- #test_simulation_par_detailed ⇒ Object
- #test_simulation_par_simple ⇒ Object
Instance Method Details
#apply_measure_to_model(test_name, args, model_name = nil, result_value = 'Success', warnings_count = 0, info_count = nil) ⇒ Object
method to apply arguments, run measure, and assert results (only populate args hash with non-default argument values)
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/measures/from_honeybee_simulation_parameter/tests/from_honeybee_simulation_parameter_test.rb', line 40 def apply_measure_to_model(test_name, args, model_name = nil, result_value = 'Success', warnings_count = 0, info_count = nil) # create an instance of the measure measure = FromHoneybeeSimulationParameter.new # create an instance of a runner runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) if model_name.nil? # make an empty model model = OpenStudio::Model::Model.new else # load the test model translator = OpenStudio::OSVersion::VersionTranslator.new path = OpenStudio::Path.new(File.dirname(__FILE__) + '/' + model_name) model = translator.loadModel(path) assert(!model.empty?) model = model.get end # get arguments arguments = measure.arguments(model) argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) # populate argument with specified hash value if specified arguments.each do |arg| temp_arg_var = arg.clone if args.key?(arg.name) assert(temp_arg_var.setValue(args[arg.name]), "could not set #{arg.name} to #{args[arg.name]}.") end argument_map[arg.name] = temp_arg_var end # run the measure measure.run(model, runner, argument_map) result = runner.result # show the output puts "measure results for #{test_name}" show_output(result) # assert that it ran correctly if result_value.nil? then result_value = 'Success' end assert_equal(result_value, result.value.valueName) # check count of warning and info messages unless info_count.nil? then assert(result.info.size == info_count) end unless warnings_count.nil? then assert(result.warnings.size == warnings_count, "warning count (#{result.warnings.size}) did not match expectation (#{warnings_count})") end # if 'Fail' passed in make sure at least one error message (while not typical there may be more than one message) if result_value == 'Fail' then assert(result.errors.size >= 1) end # save the model to test output directory output_file_path = OpenStudio::Path.new(File.dirname(__FILE__) + "/output/#{test_name}_test_output.osm") model.save(output_file_path, true) end |
#test_simulation_par_detailed ⇒ Object
103 104 105 106 107 |
# File 'lib/measures/from_honeybee_simulation_parameter/tests/from_honeybee_simulation_parameter_test.rb', line 103 def test_simulation_par_detailed args = {} args['simulation_parameter_json'] = File.join(File.dirname(__FILE__) + "/../../../../spec/samples/simulation_parameter/simulation_par_detailed.json") apply_measure_to_model(__method__.to_s.gsub('test_',''),args, nil) end |
#test_simulation_par_simple ⇒ Object
96 97 98 99 100 101 |
# File 'lib/measures/from_honeybee_simulation_parameter/tests/from_honeybee_simulation_parameter_test.rb', line 96 def test_simulation_par_simple args = {} args['simulation_parameter_json'] = File.join(File.dirname(__FILE__) + "/../../../../spec/samples/simulation_parameter/simulation_par_simple.json") apply_measure_to_model(__method__.to_s.gsub('test_',''),args, nil) end |