Class: FromHoneybeeModelToSDD_Test
- Inherits:
-
Minitest::Test
- Object
- Minitest::Test
- FromHoneybeeModelToSDD_Test
- Defined in:
- lib/measures/from_honeybee_model_to_sdd/tests/from_honeybee_model_to_sdd_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_office_floor ⇒ Object
- #test_shoe_box ⇒ 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 |
# File 'lib/measures/from_honeybee_model_to_sdd/tests/from_honeybee_model_to_sdd_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 = FromHoneybeeModelToSDD.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 end |
#test_office_floor ⇒ Object
99 100 101 102 103 |
# File 'lib/measures/from_honeybee_model_to_sdd/tests/from_honeybee_model_to_sdd_test.rb', line 99 def test_office_floor args = {} args['model_json'] = File.join(File.dirname(__FILE__) + "/../../../../spec/samples/model/model_complete_office_floor.json") apply_measure_to_model(__method__.to_s.gsub('test_',''),args, nil) end |
#test_shoe_box ⇒ Object
93 94 95 96 97 |
# File 'lib/measures/from_honeybee_model_to_sdd/tests/from_honeybee_model_to_sdd_test.rb', line 93 def test_shoe_box args = {} args['model_json'] = File.join(File.dirname(__FILE__) + "/../../../../spec/samples/model/model_energy_shoe_box.json") apply_measure_to_model(__method__.to_s.gsub('test_',''),args, nil) end |