Esempio n. 1
0
def test_data_by_output():
    """Test the data_by_output command."""
    runner = CliRunner()
    sql_path = './tests/result/eplusout_hourly.sql'

    result = runner.invoke(data_by_output, [sql_path, "Zone Ideal Loads Supply Air Total Cooling Energy"])
    assert result.exit_code == 0
    data_list = json.loads(result.output)
    assert len(data_list) == 7
    assert all(isinstance(HourlyContinuousCollection.from_dict(dc), HourlyContinuousCollection)
               for dc in data_list)

    out_names = [
        'Zone Ideal Loads Supply Air Total Cooling Energy',
        'Zone Ideal Loads Supply Air Total Heating Energy'
    ]
    result = runner.invoke(data_by_output, [sql_path, json.dumps(out_names)])
    assert result.exit_code == 0
    data_list = json.loads(result.output)
    assert len(data_list) == 14
    assert all(isinstance(HourlyContinuousCollection.from_dict(dc), HourlyContinuousCollection)
               for dc in data_list)

    result = runner.invoke(data_by_output, [sql_path, "Zone Lights Total Heating Energy"])
    assert result.exit_code == 0
    data_list = json.loads(result.output)
    assert len(data_list) == 0
Esempio n. 2
0
def test_data_by_outputs():
    """Test the data_by_output command."""
    runner = CliRunner()
    sql_path = './tests/result/eplusout_hourly.sql'

    out_names1 = [
        'Zone Ideal Loads Supply Air Total Cooling Energy',
        'Zone Ideal Loads Supply Air Total Heating Energy'
    ]
    result = runner.invoke(data_by_outputs, [sql_path] + out_names1)
    assert result.exit_code == 0
    data_list = json.loads(result.output)
    assert len(data_list) == 2
    assert len(data_list[0]) == 7
    assert all(isinstance(HourlyContinuousCollection.from_dict(dc), HourlyContinuousCollection)
               for dc in data_list[0])

    out_names2 = [
        'Zone Lights Total Heating Energy',
        'Chiller Electricity Energy'
    ]
    result = runner.invoke(data_by_outputs, [sql_path] + out_names2)
    assert result.exit_code == 0
    data_list = json.loads(result.output)
    assert len(data_list) == 2
    assert len(data_list[0]) == 0

    input_args = [sql_path, json.dumps(out_names1), json.dumps(out_names2)]
    result = runner.invoke(data_by_outputs, input_args)
    assert result.exit_code == 0
    data_list = json.loads(result.output)
    assert len(data_list) == 2
    assert len(data_list[0]) == 14
    assert len(data_list[1]) == 0
Esempio n. 3
0
def test_dict_methods_continuous():
    """Test the to/from dict methods for continuous collection."""
    header = Header(Temperature(), 'C', AnalysisPeriod(end_month=1, end_day=1))
    values = list(xrange(24))
    dc = HourlyContinuousCollection(header, values)
    dc_dict = dc.to_dict()
    reconstruced_dc = HourlyContinuousCollection.from_dict(dc_dict)

    assert dc_dict == reconstruced_dc.to_dict()
def serialize_data(data_dicts):
    """Reserialize a list of collection dictionaries."""
    if len(data_dicts) == 0:
        return []
    elif data_dicts[0]['type'] == 'HourlyContinuousCollection':
        return [HourlyContinuousCollection.from_dict(data) for data in data_dicts]
    elif data_dicts[0]['type'] == 'MonthlyCollection':
        return [MonthlyCollection.from_dict(data) for data in data_dicts]
    elif data_dicts[0]['type'] == 'DailyCollection':
        return [DailyCollection.from_dict(data) for data in data_dicts]
Esempio n. 5
0
def test_set():
    runner = CliRunner()
    input_epw = './tests/epw/chicago.epw'

    result = runner.invoke(
        set_, [input_epw, '--exclude-wind', '--exclude-sun', '--json'])
    assert result.exit_code == 0
    data_dict = json.loads(result.output)
    set_data = HourlyContinuousCollection.from_dict(data_dict)
    assert len(set_data) == 8760
Esempio n. 6
0
def test_pmv_by_room():
    runner = CliRunner()
    input_sql = './tests/sql/eplusout.sql'

    result = runner.invoke(pmv_by_room, [input_sql])
    assert result.exit_code == 0
    data_dicts = json.loads(result.output)
    pmv_data = [
        HourlyContinuousCollection.from_dict(dat) for dat in data_dicts
    ]
    assert len(pmv_data) == 2
    assert len(pmv_data[0]) == 8760
Esempio n. 7
0
def test_adaptive_by_room():
    runner = CliRunner()
    input_sql = './tests/sql/eplusout.sql'
    input_epw = './tests/epw/chicago.epw'

    result = runner.invoke(adaptive_by_room,
                           [input_sql, input_epw, '-v', '0.65'])
    assert result.exit_code == 0
    data_dicts = json.loads(result.output)
    ad_data = [HourlyContinuousCollection.from_dict(dat) for dat in data_dicts]
    assert len(ad_data) == 2
    assert len(ad_data[0]) == 8760
Esempio n. 8
0
def test_adaptive_by_room_custom():
    runner = CliRunner()
    input_sql = './tests/sql/eplusout.sql'
    input_epw = './tests/epw/chicago.epw'

    air_speed = [0.65] * 8760
    air_speed = json.dumps(air_speed)
    comf_par = AdaptiveParameter(False)
    comf_par.set_neutral_offset_from_comfort_class(1)

    result = runner.invoke(
        adaptive_by_room,
        [input_sql, input_epw, '-v', air_speed, '-cp',
         str(comf_par)])
    assert result.exit_code == 0
    data_dicts = json.loads(result.output)
    ad_data = [HourlyContinuousCollection.from_dict(dat) for dat in data_dicts]
    assert len(ad_data) == 2
    assert len(ad_data[0]) == 8760
def serialize_data(data_dicts):
    """Reserialize a list of collection dictionaries."""
    return [HourlyContinuousCollection.from_dict(dat) for dat in data_dicts]